python入门基础教程必学的11个知识点
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
精品课程 全程面授
再说下 Python 的效率问题,Python 支持多进程、多线程以及协程(比线 程更小一级),程序并发度是在 Shell 之上的。Python 的核心模块基本都是用 C 实现的,因此效率更高。如有必要也可能将需要用 Python 实现的 Python 模 块用 C 重写以提高效率,当然也可以直接用 C Python,一个直接完全用 C 实现 的 Python 解释器。
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
精品课程 全程面授
6、如何快速掌握 Python?
阅读官方文档即可满足日常需求,官方文档有中文翻译,更加方便学习。但
这些都是基础的语法和常见的模块,Python 学习重要的是模块,快速、高效的
开发依赖的是模块的应用,站在前人的肩膀会省时省力的多。
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
精品课程 全程面授
另外大数据分析 Python 也是比较适合的,从载入到分析,再到保存结果等, Python 有一整套的模块应对。
2、Python 能够胜任大数据吗? Python 很适合做大数据相关的分析,内置的 C 编译的模块能应对常见的操 作,个别极端的算法建议用 C 重写相关模块。 Python 本身的特点更多的是高效率的开发和简单的维护,速度交给 C 去吧, 更多的问题其实出自写代码的人没有更好的使用,而不是效率不够高。比如排序, 本来 Python 有非常高效的内置 C 编译的模块,却非要自己写算法,这样的结果 不慢都是奇怪的。 另外还要看需求是 CPU 密集型,还是 IO 密集型,如果是 CPU 密集型建议 这部分操作由 C 实现,IO 密集型的效率不会因为 Python 而有多少改变。 C 的效率是高,但框架搭起来也费劲,所以还是结合着来吧,也因此,Python 被称为胶水语言。 3、Python 是否可以完全代替 Shell? 完全可以,Shell 的功能 Python 均可实现,而且代码量更少、结构更优、 可阅读性更好,而 Python 可实现的功能 Shell 却不一定能,如运维中会用到的 用于网络通信的 Socket 模块、用于 WEB 的 Django 框架、用于性能采集的 psutil 模块等,而且 Shell 对操作系统的命令依赖性较强,Python 可在更大程度上规 避。 在一个 Shell 的 IDE 是个很大的问题,虽然 Python 的原生 IDE 不怎么样, 但第三方的 IDE 还是功能十分强大的,虽然不能和微软的 Virtual Studio 相媲 美,但也是能完全满足 Python 的开发需求的。
IPy:IP 地址相关处理
dnsptyhon:域名相关处理
difflib:文件比较
pexpecFra Baidu bibliotek:屏幕信息获取,常用于自动化
paramiko:SSH 客户端
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
精品课程 全程面授
XlsxWriter:Excel 相关处理 其他还有很多很多功能模块,每天也不断的有新的模块、框架、组件产生, 如用于与 Java Script 做桥接的 PythonJS,甚至 Python 还可以编写 Map 和 Reduce。 7、Python 是否有专用的 IDE 工具? 有,IDEL 用 Python 实现的 Python 的 IDE 工具,但说实话,功能真心不 咋地。我个人常用的 IDE 如下: PyCharm PyCharm 是 JetBrains 开发的 Python IDE。PyCharm 用于一般 IDE 具备 的功能,比如,调试、语法高亮、Project 管理、代码跳转、智能提示、自动完 成、单元测试、版本控制……另外,PyCharm 还提供了一些很好的功能用于 Django 开 发,同时支 持 Google App Engine,更酷 的是,PyCharm 支持 IronPython! Wing IDE Wingware 的 Python IDE 兼容 Python 2.x 和 3.x,可以结合 Django, matplotlib,Zope, Plone,App Engine,PyQt,PySide,wxPython,PyGTK, Tkinter , mod_wsgi , pygame , Maya , MotionBuilder , NUKE , Blender 和其他 Python 框架使用。Wing 支持测试驱动开发,集成了单元测试,nose 和 Django 框架的执行和调试功能。Wing IDE 启动和运行的速度都非常快,支 持 Windows,Linux,OS X 和 Python versi。 NotePad++ 简单、方便,但仅适合临时性的更改。
8、运用 Python 实现系统自动化监控有哪些常用方法? 准确的说应该是有哪些模块,健康监控肯定要有 psutil 来监控性能,还会 用到通信的 Socket,登陆的 Paramiko、telnetlib,ftp 的 ftplib。 原理基本就是采集数据——本地处理数据——传输数据,如果做的比较完 善可以再做个呈现数据,也可以吧数据发送给 Zabbix 等开源工具。 个人还用一个开源监控网络刺探的,超过指定次数就自动封杀。
精品课程 全程面授
Python 的面向对象特征如下: 封装 面向对象程序设计中的术语对象(Object)基本上可以看做数据(特性) 以及由一系列可以存取、操作这些数据的方法所组成的集合。传统意义上的“程 序= 数据结构+算法”被封装”掩盖“并简化为“程序=对象+消息”。对象是 类的实例,类的抽象则需要经过封装。封装可以让调用者不用关心对象是如何构 建的而直接进行使用。 继承 类继承: 继承给人的直接感觉是这是一种复用代码的行为。继承可以理解为它是以普 通的类为基础建立专门的类对象,子类和它继承的父类是 IS-A 的关系。 多重继承: 不同于 C#,Python 是支持多重类继承的(C#可继承自多个 Interface,但 最多继承自一个类)。多重继承机制有时很好用,但是它容易让事情变得复杂。 多态 多态意味着可以对不同的对象使用同样的操作,但它们可能会以多种形态呈 现出结果。在 Python 中,任何不知道对象到底是什么类型,但又需要对象做点 什么的时候,都会用到多态。方法是多态的,运算符也是多态的。
但学习 Python 其实最重要的是学习模块,而非语法本身,Python 的语法
十分简单,只要大学学过 C 或者数据结构课程,甚至完全没学过的人也是可以
轻松掌握的。掌握了语法已经可以实现 Shell 的功能,但要想提高模块的学习必
不可少,如运维人员经常用的有:
psutil:获取性能信息
socket:基本网络通信
中国 IT 职业教育领先品牌
精品课程 全程面授
python 入门基础教程必学的 11 个知识点 Python 被誉为全世界高效的编程语言,同时也被称作是“胶水语言”,那 它为何能如此受欢迎,下面我们就来说说 Python 入门学习的必备 11 个知识点, 也就是它为何能够如此受欢迎的原因。
1、Python 适用于哪些应用场景? 这个没有固定答案,很多人都说 Python 不适合开发 GUI 的程序,但 Python 自己的 IDE——IDEL 和第三方的 IDE——Eric 就是 Python 写的。 目前看到的更多的人是拿来写 Web,使用如 Django、web.py 框架,没记 错 Flask 也是。 也有一个情况用的比较多,用 Python 当胶水,与各种语言结合,共同完成 某软件功能,注意观察也许你会发现在安装一些软件的时候会有 Python 的身 影。 我个人还拿 Python 模拟过端口转发和 DNS 服务等,所以真的是要看真么 用,而不是能怎么用。
千锋教育 www.qfedu.com
Python 虽然是解释型语言,但从设计之初就已经是一门面向对象的语言,
对于 Python 来说一切皆为对象。正因为如此,在 Python 中创建一个类和对象
是很容易的,当然如果习惯面向过程或者函数的写法也是可以的,Python 并不
做硬性的限制。
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
4、Python 是否可以访问常见的数据库?
可以,Python 可以访问常见的各种数据库,如 Oracle、MySQL、Vertica、
SQLServer 等,加载相应的模块即可,模块列表如下:
Oracle:cx_Oracle
MySQL:MySQLdb
5、Python 开发是面向过程、函数还是对象?
10、如何利用 Python 提高开发效率? 因为 Python 很多底层的东西不用自己写,模块资源丰富,运用得当开发效 率当然会提升,而且各种框架也为快速开发提供了基础。 11、Python 运行速度如何? 通常 Java 的速度比 Python 快些。Python 调用 C 扩展除外(也可以直接 用 CPython)。 对于 Python 速度太慢的批评,Python 语言作者 Guido van Rossum 说: 如果你开发的系统发现了性能瓶颈,通常最有效率的做法是找到出问题的代 码块,用速度较快的语言如 C 或 C++写一些代码替换该功能或该模块,而不是 用 C 或 C++重写整个系统,因为对大部分代码而言,语言的速度是无关紧要的。 学习是一个人最大的修养,通过学习不仅可以提升自己的境界,还能丰富知 识,为以后的就业打下基础,学习 Python 更是一个发展自己的好机会,毕竟人 工智能时代已经到来,Python 作为人工智能时代的主力军是非常有前景的,梦 想没有腐朽,一路还有汗流。加油!
精品课程 全程面授
关于跨平台和他跨平台语言一样,要注意有些个别模块是单一平台特有的,整体 的跨平台性还是很好的,不必为适应多平台写多套代码。
但这不是说一点限制都没有:首先,同一个版本的中间文件.py 和.pyc 以 及.pyo 是跨平台的;其次,PC 与移动终端,如:手机、Pad 不可跨平台(原因 见下一条);最后,不能跨处理器构架,如:Intel 与 ARM,64 位与 32 位。
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
精品课程 全程面授
其 他 的 还 有 : Eclipse withPyDev 、 Sublime Text 、 Komodo Edit 、 PyScripter、The Eric Python IDE、Interactive Editor for Python
9、Python 可运行在那些平台?跨平台性如何? 支持常见的主流平台,如 AIX、HPUX、Solaris、Linux、Windows 等,除 Windows 外常见的 Unix、Linux 平台均带有原生的 Python,但版本一般较低。
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
中国 IT 职业教育领先品牌
精品课程 全程面授
再说下 Python 的效率问题,Python 支持多进程、多线程以及协程(比线 程更小一级),程序并发度是在 Shell 之上的。Python 的核心模块基本都是用 C 实现的,因此效率更高。如有必要也可能将需要用 Python 实现的 Python 模 块用 C 重写以提高效率,当然也可以直接用 C Python,一个直接完全用 C 实现 的 Python 解释器。
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
精品课程 全程面授
6、如何快速掌握 Python?
阅读官方文档即可满足日常需求,官方文档有中文翻译,更加方便学习。但
这些都是基础的语法和常见的模块,Python 学习重要的是模块,快速、高效的
开发依赖的是模块的应用,站在前人的肩膀会省时省力的多。
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
精品课程 全程面授
另外大数据分析 Python 也是比较适合的,从载入到分析,再到保存结果等, Python 有一整套的模块应对。
2、Python 能够胜任大数据吗? Python 很适合做大数据相关的分析,内置的 C 编译的模块能应对常见的操 作,个别极端的算法建议用 C 重写相关模块。 Python 本身的特点更多的是高效率的开发和简单的维护,速度交给 C 去吧, 更多的问题其实出自写代码的人没有更好的使用,而不是效率不够高。比如排序, 本来 Python 有非常高效的内置 C 编译的模块,却非要自己写算法,这样的结果 不慢都是奇怪的。 另外还要看需求是 CPU 密集型,还是 IO 密集型,如果是 CPU 密集型建议 这部分操作由 C 实现,IO 密集型的效率不会因为 Python 而有多少改变。 C 的效率是高,但框架搭起来也费劲,所以还是结合着来吧,也因此,Python 被称为胶水语言。 3、Python 是否可以完全代替 Shell? 完全可以,Shell 的功能 Python 均可实现,而且代码量更少、结构更优、 可阅读性更好,而 Python 可实现的功能 Shell 却不一定能,如运维中会用到的 用于网络通信的 Socket 模块、用于 WEB 的 Django 框架、用于性能采集的 psutil 模块等,而且 Shell 对操作系统的命令依赖性较强,Python 可在更大程度上规 避。 在一个 Shell 的 IDE 是个很大的问题,虽然 Python 的原生 IDE 不怎么样, 但第三方的 IDE 还是功能十分强大的,虽然不能和微软的 Virtual Studio 相媲 美,但也是能完全满足 Python 的开发需求的。
IPy:IP 地址相关处理
dnsptyhon:域名相关处理
difflib:文件比较
pexpecFra Baidu bibliotek:屏幕信息获取,常用于自动化
paramiko:SSH 客户端
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
精品课程 全程面授
XlsxWriter:Excel 相关处理 其他还有很多很多功能模块,每天也不断的有新的模块、框架、组件产生, 如用于与 Java Script 做桥接的 PythonJS,甚至 Python 还可以编写 Map 和 Reduce。 7、Python 是否有专用的 IDE 工具? 有,IDEL 用 Python 实现的 Python 的 IDE 工具,但说实话,功能真心不 咋地。我个人常用的 IDE 如下: PyCharm PyCharm 是 JetBrains 开发的 Python IDE。PyCharm 用于一般 IDE 具备 的功能,比如,调试、语法高亮、Project 管理、代码跳转、智能提示、自动完 成、单元测试、版本控制……另外,PyCharm 还提供了一些很好的功能用于 Django 开 发,同时支 持 Google App Engine,更酷 的是,PyCharm 支持 IronPython! Wing IDE Wingware 的 Python IDE 兼容 Python 2.x 和 3.x,可以结合 Django, matplotlib,Zope, Plone,App Engine,PyQt,PySide,wxPython,PyGTK, Tkinter , mod_wsgi , pygame , Maya , MotionBuilder , NUKE , Blender 和其他 Python 框架使用。Wing 支持测试驱动开发,集成了单元测试,nose 和 Django 框架的执行和调试功能。Wing IDE 启动和运行的速度都非常快,支 持 Windows,Linux,OS X 和 Python versi。 NotePad++ 简单、方便,但仅适合临时性的更改。
8、运用 Python 实现系统自动化监控有哪些常用方法? 准确的说应该是有哪些模块,健康监控肯定要有 psutil 来监控性能,还会 用到通信的 Socket,登陆的 Paramiko、telnetlib,ftp 的 ftplib。 原理基本就是采集数据——本地处理数据——传输数据,如果做的比较完 善可以再做个呈现数据,也可以吧数据发送给 Zabbix 等开源工具。 个人还用一个开源监控网络刺探的,超过指定次数就自动封杀。
精品课程 全程面授
Python 的面向对象特征如下: 封装 面向对象程序设计中的术语对象(Object)基本上可以看做数据(特性) 以及由一系列可以存取、操作这些数据的方法所组成的集合。传统意义上的“程 序= 数据结构+算法”被封装”掩盖“并简化为“程序=对象+消息”。对象是 类的实例,类的抽象则需要经过封装。封装可以让调用者不用关心对象是如何构 建的而直接进行使用。 继承 类继承: 继承给人的直接感觉是这是一种复用代码的行为。继承可以理解为它是以普 通的类为基础建立专门的类对象,子类和它继承的父类是 IS-A 的关系。 多重继承: 不同于 C#,Python 是支持多重类继承的(C#可继承自多个 Interface,但 最多继承自一个类)。多重继承机制有时很好用,但是它容易让事情变得复杂。 多态 多态意味着可以对不同的对象使用同样的操作,但它们可能会以多种形态呈 现出结果。在 Python 中,任何不知道对象到底是什么类型,但又需要对象做点 什么的时候,都会用到多态。方法是多态的,运算符也是多态的。
但学习 Python 其实最重要的是学习模块,而非语法本身,Python 的语法
十分简单,只要大学学过 C 或者数据结构课程,甚至完全没学过的人也是可以
轻松掌握的。掌握了语法已经可以实现 Shell 的功能,但要想提高模块的学习必
不可少,如运维人员经常用的有:
psutil:获取性能信息
socket:基本网络通信
中国 IT 职业教育领先品牌
精品课程 全程面授
python 入门基础教程必学的 11 个知识点 Python 被誉为全世界高效的编程语言,同时也被称作是“胶水语言”,那 它为何能如此受欢迎,下面我们就来说说 Python 入门学习的必备 11 个知识点, 也就是它为何能够如此受欢迎的原因。
1、Python 适用于哪些应用场景? 这个没有固定答案,很多人都说 Python 不适合开发 GUI 的程序,但 Python 自己的 IDE——IDEL 和第三方的 IDE——Eric 就是 Python 写的。 目前看到的更多的人是拿来写 Web,使用如 Django、web.py 框架,没记 错 Flask 也是。 也有一个情况用的比较多,用 Python 当胶水,与各种语言结合,共同完成 某软件功能,注意观察也许你会发现在安装一些软件的时候会有 Python 的身 影。 我个人还拿 Python 模拟过端口转发和 DNS 服务等,所以真的是要看真么 用,而不是能怎么用。
千锋教育 www.qfedu.com
Python 虽然是解释型语言,但从设计之初就已经是一门面向对象的语言,
对于 Python 来说一切皆为对象。正因为如此,在 Python 中创建一个类和对象
是很容易的,当然如果习惯面向过程或者函数的写法也是可以的,Python 并不
做硬性的限制。
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
4、Python 是否可以访问常见的数据库?
可以,Python 可以访问常见的各种数据库,如 Oracle、MySQL、Vertica、
SQLServer 等,加载相应的模块即可,模块列表如下:
Oracle:cx_Oracle
MySQL:MySQLdb
5、Python 开发是面向过程、函数还是对象?
10、如何利用 Python 提高开发效率? 因为 Python 很多底层的东西不用自己写,模块资源丰富,运用得当开发效 率当然会提升,而且各种框架也为快速开发提供了基础。 11、Python 运行速度如何? 通常 Java 的速度比 Python 快些。Python 调用 C 扩展除外(也可以直接 用 CPython)。 对于 Python 速度太慢的批评,Python 语言作者 Guido van Rossum 说: 如果你开发的系统发现了性能瓶颈,通常最有效率的做法是找到出问题的代 码块,用速度较快的语言如 C 或 C++写一些代码替换该功能或该模块,而不是 用 C 或 C++重写整个系统,因为对大部分代码而言,语言的速度是无关紧要的。 学习是一个人最大的修养,通过学习不仅可以提升自己的境界,还能丰富知 识,为以后的就业打下基础,学习 Python 更是一个发展自己的好机会,毕竟人 工智能时代已经到来,Python 作为人工智能时代的主力军是非常有前景的,梦 想没有腐朽,一路还有汗流。加油!
精品课程 全程面授
关于跨平台和他跨平台语言一样,要注意有些个别模块是单一平台特有的,整体 的跨平台性还是很好的,不必为适应多平台写多套代码。
但这不是说一点限制都没有:首先,同一个版本的中间文件.py 和.pyc 以 及.pyo 是跨平台的;其次,PC 与移动终端,如:手机、Pad 不可跨平台(原因 见下一条);最后,不能跨处理器构架,如:Intel 与 ARM,64 位与 32 位。
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌
精品课程 全程面授
其 他 的 还 有 : Eclipse withPyDev 、 Sublime Text 、 Komodo Edit 、 PyScripter、The Eric Python IDE、Interactive Editor for Python
9、Python 可运行在那些平台?跨平台性如何? 支持常见的主流平台,如 AIX、HPUX、Solaris、Linux、Windows 等,除 Windows 外常见的 Unix、Linux 平台均带有原生的 Python,但版本一般较低。
千锋教育 www.qfedu.com
中国 IT 职业教育领先品牌