python学习_python学习路线 - CSDN
  • 【精品】精心整理的一些 Python 学习资料

    万次阅读 多人点赞 2018-07-07 21:04:40
    今天花了些时间给大家精心整理一份 Python 学习资料。我觉得不错的资料我都整理进来了,如果你是学习python的,我觉得这一份资料对你应该有用。1.知乎上超过 10k 的python相关回答Yupeng:三天搞定PythonTheAnswer:...

    今天花了些时间给大家精心整理一份 Python 学习资料。我觉得不错的资料我都整理进来了,如果你是学习python的,我觉得这一份资料对你应该有用。


    1.知乎上超过 10k 的python相关回答

    Yupeng:三天搞定Python

    TheAnswer:编程零基础应当如何开始学习 Python?

    Wayne Shi:Python 的练手项目有哪些值得推荐?

    谢科:如何入门 Python 爬虫?

    知乎用户:如何系统地自学 Python?

    Wayne Shi:Python 的练手项目有哪些值得推荐?

    25 岁才开始学习编程靠谱吗?40 岁都不晚!

    一份Python爬虫电子书


    2.可以学习python的网站

    Vamei老师:【python快速教程】
    廖雪峰老师:【python教程】
    实验楼:【Python基础+项目实战课程】
    《笨办法学 Python》
    Python Weekly
    Python challenge
    Python官方文档

    Code Like a Pythonista: Idiomatic Python:如何像 Python 高手(Pythonista)一样编程。

    pycrumbs:Python 资源大全。

    python-patterns:使用 python 实现设计模式。

    Scipy-lecture-notes:如何用 Python 来做学术

    SScientific-python-lectures:Python 科学计算的资料。

    Mario-Level-1:用 Python 和 Pygame 写的超级马里奥第一关。

    Python Koans:Python 的交互式学习工具。

    Minecraft:用 python 写的 Minecraft 游戏。

    Projects:Python 项目大集合。

    The Hitchhiker’s Guide to Python:旅行者的 Python 学习指南。

    学习python:知乎用户


    3.web项目练习

    Python 练习册,每天一个小程序:Yixiaohan/show-me-the-code

    web机器人:Python搭建的web接口聊天机器人-CSDN下载

    web实战:michaelliao/awesome-python-webapp

    在线问答系统:仿 StackOverflow 开发在线问答系统_Python_实验楼 - 实验楼

    博客BBS论坛系统:Python之路【第十八篇】Django小项目简单BBS论坛部分内容知识点 - Mr.心弦 - 博客园

    成绩管理系统:一个使用django开发的综合成绩管理系统 - 开源中国社区

    新闻系统:python项目练习四:新闻聚合 | the5fire的技术博客


    4.游戏项目练习

    2048小游戏:帐号登录

    街机小游戏:python项目练习十:DIY街机游戏 | the5fire的技术博客

    贪吃蛇小游戏:如何用Python写一个贪吃蛇AI

    扫雷小游戏:Python扫雷小游戏 - 开源中国社区

    数独游戏:帐号登录

    24点游戏:经典趣味24点游戏程序设计(python) - 转瞬之夏 - 博客园


    5.爬虫项目练习

    爬取知乎:Welcome to zhihu-py3’s documentation!

    爬取豆瓣:fanpei91/doubanspiders

    爬取京东:Adyzng/jd-autobuy

    爬取新浪微博:dataabc/weiboSpider

    爬取微信:CoolWell/wechat_spider

    爬取淘宝:python.jobbole.com/8135






    关注我,让你像看小黄文一样轻松学到 Python 的所有!






    ps:还没获取我精心准备的 Python 电子书和思维导图等干货的可以在我的公众号「学习Python的正确姿势」中发送 python 免费获取哦! 

       

    再ps:说真的,如果你能点个赞转发支持我一下我会更有动力写。





                                顺手,点个赞吧

    展开全文
  • 对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的...Python学习裙:肆捌叁伍肆陆肆壹陆好了,大道理就不多说了,先上...

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的!


    Python基础部分:

    老话说的好,“万丈高楼平地起!”不管你做什么都一样,何况编程;或许初学的时候很是枯燥乏味,但是都是你之后的项目、案例的核心!

    Python学习裙:肆捌叁伍肆陆肆壹陆

    好了,大道理就不多说了,先上基础部分展示给大家。






    我们大多数人在学习的时候会在各种论坛网站上去找资源,东学一点西学一点,感觉自己学的还不错了,真正遇到项目的时候问题多多,才发现自己只学会了基础(绝大多数是连基础都没学好,而且学的很杂乱,基本等于没学),不知道下一步该如何进行深入的学习了!下面我们以Python web开发为例来看看进阶部分需要学些什么知识!






    写在最后

    前几天有私信我要Python的学习资料,我连夜整理了一些有深度的Python教程和参考资料,从入门到高级的都有,文件已经打包好了,正在学习Python的同学可以免费下载学习学习。文件下载方式关注微信公众号:程序员大牛,关注后私信回复“Python”即可下载。首先把代码撸起来!首先把代码撸起来!首先把代码撸起来!重要的事说三遍,哈哈。“编程是门手艺活”。什么意思?得练啊。

    展开全文
  • 有什么python学习教程推荐吗?

    万次阅读 2018-08-09 09:22:36
    转自:...amp;share_ansid=6555323869178102019&iid=39055545733&app_id=13&tt_from=mobile_qq&utm_source=mobile_qq&...utm_me...

    转自:https://www.wukong.com/question/6462208594099044621/?app=news_article&share_ansid=6555323869178102019&iid=39055545733&app_id=13&tt_from=mobile_qq&utm_source=mobile_qq&utm_medium=toutiao_ios&utm_campaign=client_share

     

    其实入门Python并不难,难的是选定自己的学习方向。

    简单说下Python可以做什么:

    • 后台开发(Django / Flask / Tornado)
    • 科学计算(Numpy / Scipy / Matplotlib)
    • 机器学习(Scikit-Learn)
    • 神经网络(TensorFlow)
    • 图像处理(Pillow)
    • 网络爬虫(Requests / Xpath / Scrapy)

    今天咱们来说说如何学习Python爬虫,并成为一名爬虫工程师。

    1.爬取数据,进行市场调研和商业分析

    知乎:爬取优质答案,为你筛选出各话题下最优质的内容。

    淘宝、京东:抓取商品、评论及销量数据,对各种商品及用户的消费场景进行分析。

    安居客、链家:抓取房产买卖及租售信息,分析房价变化趋势、做不同区域的房价分析。

    拉勾网、智联:爬取各类职位信息,分析各行业人才需求情况及薪资水平。

    雪球网:抓取雪球高回报用户的行为,对股票进行分析和预测。

    2.作为机器学习、数据挖掘的原始数据

    比如你要做一个推荐系统,那么你可以去爬取更多维度的数据,做出更好的模型。

    比如你要做图像识别,你可以先去爬取大量的图片作为训练集进行训练。

    3.爬取优质的资源:图片、文本、视频

    爬取知乎钓鱼贴\图片网站,获得福利图片。

    爬取微信公众号文章,分析新媒体内容运营策略。

    这些事情,原本我们也是可以手动完成的,但如果是单纯地复制粘贴,非常耗费时间,比如你想获取100万行的数据,大约需忘寝废食重复工作两年。而爬虫可以在一天之内帮你完成,而且完全不需要任何干预。

    对于小白来说,爬虫可能是一件非常复杂、技术门槛很高的事情。比如有的人认为学爬虫必须精通 Python,然后哼哧哼哧系统学习 Python 的每个知识点,很久之后发现仍然爬不了数据;有的人则认为先要掌握网页的知识,遂开始 HTML\CSS,结果入了前端的坑,瘁……

    但掌握正确的方法,在短时间内做到能够爬取主流网站的数据,其实非常容易实现。但建议你从一开始就要有一个具体的目标,你要爬取哪个网站的哪些数据,达到什么量级。

    在目标的驱动下,你的学习才会更加精准和高效。那些所有你认为必须的前置知识,都是可以在完成目标的过程中学到的。这里给你一条平滑的、零基础快速入门的学习路径。

    1.了解爬虫的基本原理及过程
    2.Requests+Xpath 实现通用爬虫套路
    3.了解非结构化数据的存储
    4.学习scrapy,搭建工程化爬虫
    5.学习数据库知识,应对大规模数据存储与提取
    6.掌握各种技巧,应对特殊网站的反爬措施
    7.分布式爬虫,实现大规模并发采集,提升效率

    1、了解爬虫的基本原理及过程

    大部分爬虫都是按“发送请求——获得页面——解析页面——抽取并储存内容”这样的流程来进行,这其实也是模拟了我们使用浏览器获取网页信息的过程。

    简单来说,我们向服务器发送请求后,会得到返回的页面,通过解析页面之后,我们可以抽取我们想要的那部分信息,并存储在指定的文档或数据库中。

    在这部分你可以简单了解 HTTP 协议及网页基础知识,比如 POST\GET、HTML、CSS、JS,简单了解即可,不需要系统学习。

     

    2、学习 Python 包并实现基本的爬虫过程

     

    Python中爬虫相关的包很多:urllib、requests、bs4、scrapy、pyspider 等,建议你从requests+Xpath 开始,requests 负责连接网站,返回网页,Xpath 用于解析网页,便于抽取数据。

    如果你用过 BeautifulSoup,会发现 Xpath 要省事不少,一层一层检查元素代码的工作,全都省略了。掌握之后,你会发现爬虫的基本套路都差不多,一般的静态网站根本不在话下,小猪、豆瓣、糗事百科、腾讯新闻等基本上都可以上手了

    当然如果你需要爬取异步加载的网站,可以学习浏览器抓包分析真实请求或者学习Selenium来实现自动化,这样,知乎、时光网、猫途鹰这些动态的网站也基本没问题了

    这个过程中你还需要了解一些Python的基础知识:

    文件读写操作:用来读取参数、保存爬下来的内容

    list(列表)、dict(字典):用来序列化爬取的数据

    条件判断(if/else):解决爬虫中的判断是否执行

    循环和迭代(for ……while):用来循环爬虫步骤

     

    3、了解非结构化数据的存储

     

    爬回来的数据可以直接用文档形式存在本地,也可以存入数据库中。

    开始数据量不大的时候,你可以直接通过 Python 的语法或 pandas 的方法将数据存为csv这样的文件

    当然你可能发现爬回来的数据并不是干净的,可能会有缺失、错误等等,你还需要对数据进行清洗,可以学习 pandas 包的基本用法来做数据的预处理,得到更干净的数据。

     

    4、学习 scrapy,搭建工程化的爬虫

     

    掌握前面的技术一般量级的数据和代码基本没有问题了,但是在遇到非常复杂的情况,可能仍然会力不从心,这个时候,强大的 scrapy 框架就非常有用了。

    scrapy 是一个功能非常强大的爬虫框架,它不仅能便捷地构建request,还有强大的 selector 能够方便地解析 response,然而它最让人惊喜的还是它超高的性能,让你可以将爬虫工程化、模块化。

    学会 scrapy,你可以自己去搭建一些爬虫框架,你就基本具备爬虫工程师的思维了。

     

    5、学习数据库基础,应对大规模数据存储

    爬回来的数据量小的时候,你可以用文档的形式来存储,一旦数据量大了,这就有点行不通了。所以掌握一种数据库是必须的,学习目前比较主流的 MongoDB 就OK。

    MongoDB 可以方便你去存储一些非结构化的数据,比如各种评论的文本,图片的链接等等。你也可以利用PyMongo,更方便地在Python中操作MongoDB。

    因为这里要用到的数据库知识其实非常简单,主要是数据如何入库、如何进行提取,在需要的时候再学习就行。

     

    6、掌握各种技巧,应对特殊网站的反爬措施

     

    当然,爬虫过程中也会经历一些绝望啊,比如被网站封IP、比如各种奇怪的验证码、userAgent访问限制、各种动态加载等等。

    遇到这些反爬虫的手段,当然还需要一些高级的技巧来应对,常规的比如访问频率控制、使用代理IP池、抓包、验证码的OCR处理等等

    往往网站在高效开发和反爬虫之间会偏向前者,这也为爬虫提供了空间,掌握这些应对反爬虫的技巧,绝大部分的网站已经难不到你了

     

    7、分布式爬虫,实现大规模并发采集

    爬取基本数据已经不是问题了,你的瓶颈会集中到爬取海量数据的效率。这个时候,相信你会很自然地接触到一个很厉害的名字:分布式爬虫

    分布式这个东西,挺起来很恐怖,但其实就是利用多线程的原理让多个爬虫同时工作,需要你掌握 Scrapy + MongoDB + Redis 这三种工具

    Scrapy 前面我们说过了,用于做基本的页面爬取,MongoDB 用于存储爬取的数据,Redis 则用来存储要爬取的网页队列,也就是任务队列。

    所以有些东西看起来很吓人,但其实分解开来,也不过如此。当你能够写分布式的爬虫的时候,那么你可以去尝试打造一些基本的爬虫架构了,实现一些更加自动化的数据获取。

     

    你看,这一条学习路径下来,你已然可以成为老司机了,非常的顺畅。所以在一开始的时候,尽量不要系统地去啃一些东西,找一个实际的项目(开始可以从豆瓣、小猪这种简单的入手),直接开始就好

    因为爬虫这种技术,既不需要你系统地精通一门语言,也不需要多么高深的数据库技术,高效的姿势就是从实际的项目中去学习这些零散的知识点,你能保证每次学到的都是最需要的那部分。

    当然唯一麻烦的是,在具体的问题中,如何找到具体需要的那部分学习资源、如何筛选和甄别,是很多初学者面临的一个大问题。

    不过不用担心,我们准备了一门非常系统的爬虫课程,除了为你提供一条清晰、无痛的学习路径,我们甄选了最实用的学习资源以及庞大的主流爬虫案例库。短时间的学习,你就能够很好地掌握爬虫这个技能,获取你想得到的数据。

     

    造数科技和DC学院联合打造简单易学的Python爬虫工程师(入门+进阶)课程

     

    课程主要分为入门和进阶两部分。学完了入门可以动手采集万级以下数据,学习 Requests 、Xpath 和Pandas,而进阶课程则是成为职业爬虫工程师的基础,将学习Scrapy。

    【课程信息】

    Python爬虫:入门+进阶

    第一章:Python 爬虫入门

    1、什么是爬虫

    网址构成和翻页机制

    网页源码结构及网页请求过程

    爬虫的应用及基本原理

    2、初识Python爬虫

    Python爬虫环境搭建

    创建第一个爬虫:爬取百度首页

    爬虫三步骤:获取数据、解析数据、保存数据

    3、使用Requests爬取豆瓣短评

    Requests的安装和基本用法

    用Requests 爬取豆瓣短评信息

    一定要知道的爬虫协议

    4、使用Xpath解析豆瓣短评

    解析神器Xpath的安装及介绍

    Xpath的使用:浏览器复制和手写

    实战:用 Xpath 解析豆瓣短评信息

    5、使用pandas保存豆瓣短评数据

    pandas 的基本用法介绍

    pandas文件保存、数据处理

    实战:使用pandas保存豆瓣短评数据

    6、浏览器抓包及headers设置(案例一:爬取知乎)

    爬虫的一般思路:抓取、解析、存储

    浏览器抓包获取Ajax加载的数据

    设置headers 突破反爬虫限制

    实战:爬取知乎用户数据

    7、数据入库之MongoDB(案例二:爬取拉勾)

    MongoDB及RoboMongo的安装和使用

    设置等待时间和修改信息头

    实战:爬取拉勾职位数据

    将数据存储在MongoDB中

    补充实战:爬取微博移动端数据

    8、Selenium爬取动态网页(案例三:爬取淘宝)

    动态网页爬取神器Selenium搭建与使用

    分析淘宝商品页面动态信息

    实战:用Selenium 爬取淘宝网页信息

    第二章:Python爬虫之Scrapy框架

    1、爬虫工程化及Scrapy框架初窥

    html、css、js、数据库、http协议、前后台联动

    爬虫进阶的工作流程

    Scrapy组件:引擎、调度器、下载中间件、项目管道等

    常用的爬虫工具:各种数据库、抓包工具等

    2、Scrapy安装及基本使用

    Scrapy安装

    Scrapy的基本方法和属性

    开始第一个Scrapy项目

    3、Scrapy选择器的用法

    常用选择器:css、xpath、re、pyquery

    css的使用方法

    xpath的使用方法

    re的使用方法

    pyquery的使用方法

    4、Scrapy的项目管道

    Item Pipeline的介绍和作用

    Item Pipeline的主要函数

    实战举例:将数据写入文件

    实战举例:在管道里过滤数据

    5、Scrapy的中间件

    下载中间件和蜘蛛中间件

    下载中间件的三大函数

    系统默认提供的中间件

    6、Scrapy的Request和Response详解

    Request对象基础参数和高级参数

    Request对象方法

    Response对象参数和方法

    Response对象方法的综合利用详解

    第三章:Python爬虫进阶操作

    1、网络进阶之谷歌浏览器抓包分析

    http请求详细分析

    网络面板结构

    过滤请求的关键字方法

    复制、保存和清除网络信息

    查看资源发起者和依赖关系

    2、数据入库之去重与数据库

    数据去重

    数据入库MongoDB

    第四章:分布式爬虫及实训项目

    1、大规模并发采集——分布式爬虫的编写

    分布式爬虫介绍

    Scrapy分布式爬取原理

    Scrapy-Redis的使用

    Scrapy分布式部署详解

    2、实训项目(一)——58同城二手房监控

    3、实训项目(二)——去哪儿网模拟登陆

    4、实训项目(三)——京东商品数据抓取

     


    课程中提供了目前最常见的网站爬虫案例:豆瓣、百度、知乎、淘宝、京东、微博……每个案例在课程视频中都有详细分析,老师带你完成每一步操作

    另外,我们还会补充比如小猪、链家、58同城、网易云音乐、微信好友等案例,提供思路与代码。

    多次的模仿和练习之后,你可以很轻松地写出自己的爬虫代码,并能够轻松爬取这些主流网站的数据。

     


    课程地址:https://www.dcxueyuan.com/#/classDetail/classIntroduce/17

    展开全文
  • 基于python的入门学习

    千次阅读 2019-01-23 14:17:20
    安装常用的python解释器: 1.1,什么是ipython: IPython是一个交互式计算系统。主要包含三个组件:增加的交互式 “Python shell”, 解耦的双过程通信模型,交互式并行计算的架构。支持变量自动补全。 ...

    什么是python?

    Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于
    1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁
    清晰,特色之一是强制用空白符(white space)作为语句缩进。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用
    其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
    

    python的发展历程以及标识:

    Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新
    的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个
    叫Monty Python的喜剧团体的爱好者。ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美
    和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在
    Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。就这样,Python在Guido手中诞生了。
    

    这里写图片描述
    简单的python练习:

    [kiosk@foundation84 mnt]$ python   直接输入python进入交互式界面
    Python 2.7.5 (default, Feb 11 2014, 07:46:25) 
    [GCC 4.8.2 20140120 (Red Hat 4.8.2-13)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 1 + 2
    3
    >>> 2 ** 3   可以进行计算
    8
    >>> print 'hello xfl'   可以打印''里面的内容,缺点就是没办法保存
    hello xfl
    >>> exit
    Use exit() or Ctrl-D (i.e. EOF) to exit    两种退出方式
    >>> exit()
    

    这里写图片描述

    [root@foundation84 kiosk]# vim xfl.py
    [root@foundation84 kiosk]# python xfl.py 
    hello python
    [root@foundation84 kiosk]# vim xfl.py
    

    这里写图片描述

    [root@foundation84 kiosk]# vim xfl.py 
    [root@foundation84 kiosk]# cat xfl.py    python2.几版本不支持中文会报错
    #print 是打印""内容到屏幕上
    print "hello python"
    [root@foundation84 kiosk]# python xfl.py 
      File "xfl.py", line 1
    SyntaxError: Non-ASCII character '\xe6' in file xfl.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
    

    这里写图片描述

    [root@foundation84 kiosk]# vim xfl.py 
    [root@foundation84 kiosk]# cat xfl.py    加进去中文声明才可以正确解读中文
    # _*_ coding:utf-8 _*_
    
    #print 是打印""内容到屏幕上
    print "hello python"
    [root@foundation84 kiosk]# python xfl.py 
    hello python
    

    这里写图片描述

    [root@foundation84 kiosk]# vim xfl.py 
    [root@foundation84 kiosk]# cat xfl.py 
    # _*_ coding:utf-8 _*_
    
    #print 是打印""内容到屏幕上
    print "hello python"
    	print "hello xfl"
    [root@foundation84 kiosk]# python xfl.py  不应该出现的缩进也会报错
      File "xfl.py", line 5
        print "hello xfl"
        ^
    IndentationError: unexpected indent
    

    这里写图片描述

    [root@foundation84 kiosk]# vim xfl.py 
    [root@foundation84 kiosk]# cat xfl.py 
    # _*_ coding:utf-8 _*_
    
    #print 是打印""内容到屏幕上
    print "hello python"print "hello xfl"
    [root@foundation84 kiosk]# python xfl.py  两行内容输入到一行会报错
      File "xfl.py", line 4
        print "hello python"print "hello xfl"
                                ^
    SyntaxError: invalid syntax
    

    这里写图片描述

    [root@foundation84 kiosk]# vim xfl.py 
    [root@foundation84 kiosk]# cat xfl.py 
    # _*_ coding:utf-8 _*_
    
    #print 是打印""内容到屏幕上
    print "hello python"
    print "hello xfl"
    [root@foundation84 kiosk]# python xfl.py 
    hello python
    hello xfl
    

    这里写图片描述

    [root@foundation84 mnt]# which python
    /bin/python
    [root@foundation84 mnt]# ls -lh /bin/python
    lrwxrwxrwx. 1 root root 7 Apr 28 18:30 /bin/python -> python2
    [root@foundation84 mnt]# ls -lh /bin/python2
    lrwxrwxrwx. 1 root root 9 Apr 28 18:30 /bin/python2 -> python2.7   
    软链接的作用就是在不知道python版本的情况下直接打开python交互式界面
    [root@foundation84 mnt]# ls -lh /bin/python2.7
    -rwxr-xr-x. 1 root root 7.0K Feb 11  2014 /bin/python2.7
    

    python代码实现的过程:

    编译性语言:速度快,跨平台性差
    解释性语言:速度慢,跨平台性好(python,shell)
    python适应于短期开发,易读性强,开发速度快,运行速度相对慢,面向对象将要做的事情分配给其他人,是一种解决
    问题的方式,重要的是分配给谁。
    python的源程序就是.py结尾,python统一缩进,没有;号
    

    这里写图片描述
    python程序是如何执行的?

    计算机中包含有较多的硬件,但是一个程序要运行,有三个核心的硬件,分别是:
    1.cpu(cpu 就是干活的,离开了 cpu 电脑就不能干活)
    中央处理器,是一块超大规模的集成电路
    负责处理数据/计算
    2.内存(临时存储数据 以 G 为单位 4G 8G 16G 32G)
    临时存储数据(断电之后,数据会消失)
    速度快
    空间小(单位价格高)
    3.硬盘(永久存储数据 以 T 为单位 1T=1024G)
    永久存储数据
    速度慢
    空间大(单位价格低)
    思考题:
    1.计算机中哪一个硬件设备负责执行程序?
    CPU
    2.内存的速度快还是硬盘的速度快?
    内存
    3.我们的程序是安装在内存中的,还是安装在硬盘中的?
    硬盘
    4.我买了一个内存条,有 500G 空间,这句话对麼?
    不对,内存条通常只有 4G/8G/16G/32G
    5.计算机关机之后,内存中的数据都会消失麼?
    是的
    程序执行的原理
    1.程序运行之前,程序是保存在硬盘中的
    2.当要运行一个程序的时候,操作系统会首先让 CPU 把程序复制到内存中,
    CPU 执行内存中方的代码程序,程序要执行,首先要被加载到内存。
    

    这里写图片描述
    这里写图片描述
    安装常用的python解释器:

    什么是ipython:

    IPython是一个交互式计算系统。主要包含三个组件:增加的交互式 “Python shell”,解耦的双过程通信模型,交互式并行
    计算的架构。支持变量自动补全。IPython 是一个 python 的交互式 shell,比默认的python shell好用得多,支持变量自动
    补全,自动缩进,支持 bash shell命令,内置了许多很有用的功能和函数。IPython 是基于BSD 开源的。IPython 为交互式
    计算提供了一个丰富的架构,包含:强大的交互式, shellJupyter 内核交互式的数据可视化工具灵活、可嵌入的解释器易于
    使用,高性能的并行计算工具。
    

    ipython的安装:

    [kiosk@foundation84 Desktop]$ su
    Password: 
    [root@foundation84 Desktop]# 
    [root@foundation84 Desktop]# ls
    3.jpg              Discuz_X3.2_SC_UTF8.zip                 python第一天
    59f01d9c531b7.jpg  phpMyAdmin-3.4.0-all-languages.tar.bz2  考试博客
    [root@foundation84 Desktop]# cd python第一天/
    [root@foundation84 python第一天]# ls
    ipython                            PycharmProjects  变量.pdf    变量的命名.pdf
    pycharm-community-2016.3.2.tar.gz  python           变量的命名  截图
    [root@foundation84 python第一天]# cd ipython/    自己下载的ipython安装包
    [root@foundation84 ipython]# ls
    openpgm-5.2.122-2.el7.x86_64.rpm
    python-ipython-3.2.1-1.el7.noarch.rpm
    python-ipython-console-3.2.1-1.el7.noarch.rpm
    python-ipython-gui-3.2.1-1.el7.noarch.rpm
    python-jsonschema-2.3.0-1.el7.noarch.rpm
    python-mistune-0.5.1-1.el7.x86_64.rpm
    python-path-5.2-1.el7.noarch.rpm
    python-pip-7.1.0-1.el7.noarch.rpm
    python-pygments-1.4-9.el7.noarch.rpm
    python-simplegeneric-0.8-7.el7.noarch.rpm
    python-zmq-14.3.1-1.el7.x86_64.rpm
    zeromq3-3.2.5-1.el7.x86_64.rpm
    [root@foundation84 ipython]# yum install * -y   安装ipython
    [root@foundation84 ipython]# ipython  打开ipython的交互式界面
    Python 2.7.5 (default, Feb 11 2014, 07:46:25) 
    Type "copyright", "credits" or "license" for more information.
    
    IPython 3.2.1 -- An enhanced Interactive Python.
    ?         -> Introduction and overview of IPython's features.
    %quickref -> Quick reference.
    help      -> Python's own help system.
    object?   -> Details about 'object', use 'object??' for extra details.
    
    In [1]: exit()   两种退出方式还有一种是ctrl+D
    [root@foundation38 kiosk]# ipython 退出方式2
    Python 2.7.5 (default, Aug  2 2016, 04:20:16) 
    Type "copyright", "credits" or "license" for more information.
    
    IPython 3.2.1 -- An enhanced Interactive Python.
    ?         -> Introduction and overview of IPython's features.
    %quickref -> Quick reference.
    help      -> Python's own help system.
    object?   -> Details about 'object', use 'object??' for extra details.
    
    In [1]: 
    Do you really want to exit ([y]/n)? y   按组合键ctrl+D
    

    这里写图片描述
    ipython的简单使用:

    行注释和块注释(多行注释)
    python单行注释#和文字中间加空格
    程序是用来处理数据的,在程序的内部,为用户密码开辟的空间叫做变量
    变量必须先定义再使用:
    
    [root@foundation84 kiosk]# ipython   打开ipython交互界面
    Python 2.7.5 (default, Aug  2 2016, 04:20:16) 
    Type "copyright", "credits" or "license" for more information.
    
    IPython 3.2.1 -- An enhanced Interactive Python.
    ?         -> Introduction and overview of IPython's features.
    %quickref -> Quick reference.
    help      -> Python's own help system.
    object?   -> Details about 'object', use 'object??' for extra details.
    
    In [1]: name = 1   定义变量
    In [2]: name   不需要print可以直接调用变量名字
    Out[2]: 1
    exit()退出
    In [3]: exit()
    

    这里写图片描述

    In [1]: name='薛飞龙'
    
    In [2]: type(name)   字符串类型,type内置函数作用就是查看类型
    Out[2]: str
    
    In [3]: age = 18
    
    In [4]: type(age)   整型
    Out[4]: int
    
    In [5]: gender=True
    
    In [6]: type(gender)  布尔类型
    Out[6]: bool
    
    In [7]: height=1.8
    
    In [8]: type(height)   浮点型
    Out[8]: float
    
    In [9]: type(2**32)
    Out[9]: int
    In [10]: type(2**64)  长整型,整型的一种分类
    Out[10]: long
    

    这里写图片描述

    In [11]: i=10   不同类型之间可以进行计算
    
    In [12]: f=10.5
    
    In [13]: b=True
    
    In [14]: i*f
    Out[14]: 105.0
    
    In [15]: f/i
    Out[15]: 1.05
    
    In [16]: i+f
    Out[16]: 20.5
    
    In [17]: f - b   布尔类型True代表1False代表0
    Out[17]: 9.5
    
    In [18]: a='xuefeilong'
    
    In [19]: b='18sui'
    
    In [20]: a + b   字符串的拼接
    Out[20]: 'xuefeilong18sui'
    
    In [21]: a*10  多次打印字符串
    Out[21]: 'xuefeilongxuefeilongxuefeilongxuefeilongxuefeilongxuefeilongxuefeilongxuefeilongxuefeilongxuefeilong'
    
    In [22]: (a + b)*2
    Out[22]: 'xuefeilong18suixuefeilong18sui'
    

    这里写图片描述

    In [23]: a + 10  字符串类型与整型不可以直接相加进行计算,需要进行类型转换
    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
    <ipython-input-23-2c64baa9fdb5> in <module>()
    ----> 1 a + 10
    
    TypeError: cannot concatenate 'str' and 'int' objects
    
    In [24]: raw_input('please input a number')  交互式输入
    please input a number123
    Out[24]: '123'
    
    In [25]: cc=raw_input('please input a number: ')    raw_input类型均为字符串类型,不可以乘法运算
    please input a number: 134
    
    In [26]: cc
    Out[26]: '134'
    
    In [27]: type(cc)
    Out[27]: str
    
    In [28]: age=raw_input('please input a number: ')   需要作乘法运算需要转换类型
    please input a number: 18
    
    In [29]: age
    Out[29]: '18'
    
    In [30]: type(age)
    Out[30]: str
    

    这里写图片描述
    什么是pycharm:

    pycharm是python的IDE,IDE集成开发环境带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、
    语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于
    支持Django框架下的专业Web开发
    

    安装pycharm:

    [kiosk@foundation84 ~]$ cd /home/kiosk/Desktop/
    [kiosk@foundation84 Desktop]$ ls
    3.jpg              Discuz_X3.2_SC_UTF8.zip                 考试博客
    59f01d9c531b7.jpg  phpMyAdmin-3.4.0-all-languages.tar.bz2
    aa~                python第一天
    [kiosk@foundation84 Desktop]$ cd python第一天/   自己下载的压缩包
    [kiosk@foundation84 python第一天]$ ls
    ipython                            PycharmProjects  变量的命名
    pycharm-community-2016.3.2         python           变量的命名.pdf
    pycharm-community-2016.3.2.tar.gz  变量.pdf         截图
    [kiosk@foundation84 python第一天]$ cd pycharm-community-2016.3.2/   已经解压成功
    [kiosk@foundation84 pycharm-community-2016.3.2]$ ls
    bin        help     Install-Linux-tar.txt  lib      plugins
    build.txt  helpers  jre                    license
    [kiosk@foundation84 pycharm-community-2016.3.2]$ cd bin/    进入到bin目录下
    [kiosk@foundation84 bin]$ ls
    format.sh       idea.properties  pycharm64.vmoptions  restart.py
    fsnotifier      inspect.sh       pycharm.png
    fsnotifier64    log.xml          pycharm.sh
    fsnotifier-arm  printenv.py      pycharm.vmoptions
    [kiosk@foundation84 bin]$ sh pycharm.sh   调用脚本打开pycharm的安装
    

    这里写图片描述
    详细的安装过程:

    询问是否从别的版本拷贝设置:
    这里写图片描述
    询问是否同意协议:
    这里写图片描述
    默认即可:
    这里写图片描述
    pycharm已经安装好了,接下来创建工程:
    这里写图片描述
    pycharm的一些友好提示:
    这里写图片描述
    创建一个工程:
    这里写图片描述
    点击创建的工程右键New->python file建立python文件
    这里写图片描述
    创建python文件成功:
    这里写图片描述
    pycharm的常规配置:

    更改代码大小:
    在File->Settings->Editor->Font设置字体大小
    

    这里写图片描述

    更改控制台字体大小:
    在File->Settings->Editor->Console Font设置控制台字体大小
    

    这里写图片描述

    添加代码注释:
    在File->Settings->Editor->Code style设置代码所加的注释方便别人阅读
    

    这里写图片描述
    更改成功之后打开一个新的python file就可以看到我们的设置
    这里写图片描述
    pycharm的简单练习:

    运行一个python file文件就是点击文件鼠标右键可以看到Run运行即可

    print 'hello xfl'
    

    这里写图片描述
    给代码加入注释:

    # 这是一个单行注释
    print 'hello python'
    # 注释1
    # 注释2
    这是一个多行注释/块注释
    """
    print 'have a nice day!'
    """
    什么时候需要使用注释?
    1.注释不是越多越好,对于一目了然的代码,不需要添加注释
    2.对于复杂的操作,应该在操作开始前写上若干注释
    3.对于不是一目了然的代码,应该在行尾添加注释
    (为了增加代码可读性。注释应该与代码保持至少两个空格)
    4.绝对不要描述代码
    """
    

    代码的规范性:

    #与注释内容之间至少保证一个空格。
    

    这里写图片描述
    断点的设置:

    设置断点是针对于一些复杂的代码,我们可以用设置断点来排错
    

    这里写图片描述
    变量的定义与输出:

    变量:
    什么是变量?
    #变量名只有在第一次出现才是定义变量(变量名再次出现,不是定义变量,而是直接使用之前定义的变量)
    变量的定义:
    在 python 中,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建
    等号(=)用来给变量赋值
    =左边是一个变量名,=右边是存储在变量中的值
    变量名 = 值  #变量定义之后,后续就可以直接使用了
    
    # 1.定义一个变量记录QQ号码
    qq_number = '123456'
    # 2.定义一个变量记录QQ密码
    qq_passwd = '6789'
    
    # 注意:在使用python解释器执行python程序的时候
    # 不能直接输入变量名,要输出变量内容,使用print
    print qq_number
    print qq_passwd 
    

    这里写图片描述
    变量的重复使用:

    水果的价格是8.5/斤,买了7.5斤的水果,计算付款金额。
    
    # 1.定义水果的价格
    price = 8.5
    # 2.挑选水果
    weight = 7.5
    # 3.计算付款金额
    money = price * weight
    money = money - 5
    print money
    # 变量名只有在第一次出现的时候才是定义变量
    # 变量名再次出现的时候,是直接使用之前定义的变量
    

    可以通过设置断点然后使用Debug的方式来查看变量再次使用的时候的情况
    这里写图片描述
    变量的类型:

    在 python 中定义变量是不需要指定类型(在其他很多高级语言中都需要)
    数据类新可以分为数字型和非数字型
    	数字型:
    	整型(int)
    	浮点型(float)
    	布尔型(bool)
    真 True 非 0 数 --- 非 0 即真
    非数字型:
    	字符串
    	列表
    	元组
    	字典
    使用 type 函数可以查看一个变量的类型:
    
    如果变量是 bool 型,在计算时
    	True 对应的数字是 1
    	False 对应的数字是 0
    字符串变量之间使用 + 拼接字符串
    在 python 中
    字符串之间可以使用 + 拼接生成新的字符串,字符串变量可以和整数使用 * 重复拼接相同的字符串
    字符串变量和字符串之间不能进行其他计算
    
    # str表示是一个字符串类型
    name = '薛飞龙'
    print name
    # int表示是一个整型
    age = 18
    print age
    weight = 135
    print weight
    # bool表示是一个布尔类型
    gender = True
    print gender
    # float表示是一个浮点型
    height = 1.35
    print height
    

    依旧可以通过设置断点然后使用Debug的方式来查看具体的类型
    这里写图片描述
    raw_input交互式调用变量:

    # 1.输入水果的单价
    price_str = raw_input('水果的单价为:')
    # 2.输入水果的重量
    weight_str = raw_input('水果的重量为:')
    price = float(price_str)     类型转换,raw_input输出为字符串类型不可以直接相乘
    weight = float(weight_str)
    # 3.计算付款金额
    money = price * weight
    print money
    # 注意:两个字符串之间是不能直接用乘法的,需要进行类型转换
    

    这里写图片描述
    raw_input交互式调用变量修改版:

    所谓输入,就是用代码获取用户通过键盘输入的信息
    关于函数:
    一个提前准备好的功能(别人或者自己写的代码),可以直接使用,而不用关心细节
    raw_input 函数实现键盘输入
    在python中可以使用 raw_input 函数从键盘等待用户的输入
    用户输入的任何内容 python 都认为是一个字符串
    
    # 1.输入水果的单价
    price = float(raw_input('水果的单价为:'))
    # 2.输入水果的重量
    weight = float(raw_input('水果的重量为:'))
    #price = float(price_str)
    #weight = float(weight_str)
    # 3.计算付款金额
    money = price * weight
    print money
    # 1.节约了空间,只需要为变量分配空间
    # 2.起名字方便,不需要为中间变量起名字
    

    这里写图片描述
    格式化输出:

    在 python 中可以使用 print 函数将信息输出到控制台如果希望输出文字信息的同时,一起输出数据,就需要使用到格式化操作符。
    
    % 被称为格式化操作符,专门用于处理字符串中的格式包含%的字符串,被称为格式化字符串
    % 和不同的字符连用,不同类型的数据需要使用不同的格式化字符
    %s	字符串
    %d 	有符号十进制整数,%06d 表示输出的整数显示位数字,不足的地方使用0补齐
    %f 	浮点数,%.02f 表示小数点后只显示两位
    %%	输出%
    %%f 	浮点数,%.02f 表示小数点后只显示两位
    语法格式:
    print '格式化字符串' % 变量 1
    print '格式化字符串' % (变量 1,变量 2...)
    
    #1.定义一个字符串常量 name
    #输出:我的名字叫薛飞龙,情多多关照
    name = '薛飞龙'
    #%s:字符串
    print '我的名字叫%s,请多多关照' % name
    
    #2.定义一个整形变量 student_num
    #输出:我的学号是:000001
    student_num = 6
    #%06d:表示不到六位就用0补齐
    print '我的学号是%06d' % student_num
    
    #3.定义小数 price weight money
    #输出:输出水果的单价是 购买了多少斤 总价是多少
    price = 3.8
    weight = 4.3
    money = price * weight
    #%f:浮点数 %.2f:保留两位小数
    # print '水果的单价是%.2f' % price
    # print '水果的重量是%.2f' % weight
    # print '支付的总价是%.2f' % money
    print '水果的单价是%.2f,水果的重量是%.2f,支付的总价是%.2f'\
          %(price,weight,money)
    #4.定义一个小数
    #输出:数据比例是10.00%
    scale = 0.5
    #print '数据比例是%.2f%%' % scale * 100
    print '数据比例是%.2f%%' %(scale * 100)
    

    这里写图片描述
    标示符和关键字:

    标识符:
    标识符就是程序员定义的变量名,函数名,名字需要有见名知义的效果,
    标识符可以由字母,下划线和数字组成,不能以数字开头,不能与关键字重名。
    关键字:
    关键字就是在python内部已经使用的标识符,关键字具有特殊的功能和含义
    开发者不允许定义和关键字相同的名字的标示符。
    
    通过以下命令可以查看python中的关键字
    #import关键字可以导入一个工具包
    #在python中不同的工具包,提供有不同的工具
    In [12]: import keyword
    In [13]: print keyword.kwlist
    ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
    

    这里写图片描述
    变量的命名规则

    命名规则可以被视为一种惯例,别无绝对与强制,目的是为了增加代码的识别和可读性。
    #注意:python中的标识符是区分大小写的
    1.在定义变量时,为了保证代码格式, = 的左右两边该各保留一个空格
    2.在python中,如果变量名需要由两个或多个单词组成,可以按照以下方式命名(python中常用)
    	1.每个单词都使用小写字母
    	2.单词与单词之间使用_下划线连接
    	3.例如:first_name,last_name....
    驼峰命名法:(其他语言常用的命名法)
    当变量名是由两个或多个单词组成,还可以利用驼峰命令法来命名
    小驼峰命名法
    	第一个单词以小写字母开始,后续单词的首字母大写
    	firstName lastName
    大驼峰命名法
    	每一个单词的首字母都采用大写字母
    	FirstName LastName
    匈牙利命名法:
    	开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。
    	int iMyAge;"i"是int类型的缩写
    	char cMyName[10];"c"是char类型的缩写
    	float fManHeight;"f"是float类型的缩写
    
    展开全文
  • Python学习笔记(一)

    万次阅读 多人点赞 2018-06-19 09:20:53
    个人学习笔记:# 引入copy模块 import copy # python数据类型:整型、浮点型、字符串、list、tuple、dict、set等 # 转义字符串'I\'m \"OK\"' = I'm "OK" # \n表示换行符,\t表示制表符tab,\ 这...
  • Python学习路线

    万次阅读 多人点赞 2020-02-19 17:29:05
    经历长达近一个月的资源筛选过程终于结束,总共1.5T的资源经过:去重、筛选、整理、归档之后一份粗略的Python学习曲线资源已经成型,虽然中间经历了很多坎坷,不过最终还是完成,猪哥也是第一时间与大家分享出来。...
  • 教育部考试中心近日发布了“关于全国计算机等级(NCRE)体系调整”的通知,决定自2018年3月起,在全国计算机二级考试中加入了“Python语言程序设计”科目。 9个月前,浙江省信息技术课程改革方案已经出台,Python...
  • 学习Python必备的8本书

    千次阅读 多人点赞 2019-03-24 16:20:31
    在过去一年里,Python的热度一路飙升,国内越来越多的人选择学习Python,如今已然成为大量开发者推荐的入门编程语言和第二编程语言,而且Python还是人工智能的主要编程语言,因此,其重要性和流行度也就不言而喻了 ...
  • 最新Python学习路线+千锋Python课程大纲+Python视频教程+Python学习资料下载地址大合集 目前Python已经成为最受欢迎的程序设计语言之一。Python的设计哲学是“优雅”、“明确”、“简单”。 Python的优点(来自...
  • python学习方法总结(内附python全套学习资料)

    万次阅读 多人点赞 2020-05-27 09:39:15
    不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包...
  • python学习心得(一)

    万次阅读 2019-03-15 09:36:23
    python学习心得人生苦短,我用python。看到python有那么多开放的库,短短几行代码就能搞定一个项目,有点面向对象的经验确实很容易学习。1、 语法基础2、 项目练习3、 项目过程中的一些心得4、 一些常用的包及模式化...
  • 2019最新Python学习路线(Python学习教程_Python学习视频):Python2和Python3你们都是怎么选的? 相信大家在初学 Python 编程的时候都会有这样一个疑虑,到底是选择 Python 2 还是选择 Python 3 呢?它俩有啥区别?...
  • Python学习资料篇

    万次阅读 多人点赞 2018-01-17 10:34:54
    Python学习资料网络上比较多,看到好的资源,不及时记录下来,下次就找不到了,我把知乎上好的回答收藏汇总到这里,以便自己随时查看,包括Python入门书籍,网站,项目,官方文档,下载资源等。 下面的内容是...
  • 最近有很多朋友问我如何尽快入门Python...花了一个多礼拜的时间,本期的Python学习教程给大家贴心的做了一个Python学习路线图(附学习视频资源——Python全栈+人工智能视频教程等)。 英雄--look 过来!(文末有福...
  • 零基础Python学习路线图,小白的进阶之路!

    千次阅读 多人点赞 2018-09-15 09:26:20
    一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学习路线图。 对于一个零基础的想学习python的朋友来说,学习方法很重要, 学习方法不对努力白费 ...
  • 2019最新Python学习教程_Python学习视频_Python学习路线:学Python,这次你可得认真看完了! 有多少伙伴是因为一句‘人生苦短,我用Python’ 去学Python的!前面跟大家有更新很多Python学习教程普及过多次的Python...
  • python学习的经典书籍

    万次阅读 2016-05-29 20:25:10
    python学习的经典书籍 用Python编写代码一点都不难,事实上它一直被赞誉为最容易学的编程语言。如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话,用Python来开发游戏的资源也有很多。这是...
  • python学习目录,从入门到上手

    万次阅读 多人点赞 2020-04-27 22:08:06
    这是我学习python的一套流程,从入门到上手 一、Python入门、环境搭建、变量、数据类型 二、Python运算符、条件结构、循环结构 三、Python函数 四、做一次综合练习,做一个控制台的员工管理 """ 需求:员工管理...
  • Python学习有哪些方向可以选择?

    万次阅读 多人点赞 2018-02-05 17:38:34
    Python是一门简单、易学并且很有前途的编程语言,很多人都对Python感兴趣,但是当学完Python基础用法之后,又会产生迷茫,尤其是自学的人员,不知道接下来的Python学习方向,以及学完之后能干些什么?以下是Python...
  • Python学习1——Anaconda+Pycharm环境搭建

    万次阅读 2018-05-27 13:27:45
    Python学习1——环境搭建 学习任何编程语言的第一步就是选择搭建编程环境。 选择强迫症第一个问题, 选择Python2还是Python3,没的说,新的就是好,Python3.6.5走起。 选择强迫症第二步,选择什么IDE。 最简单的...
1 2 3 4 5 ... 20
收藏数 783,590
精华内容 313,436
关键字:

python学习