python2.7中⽂教程-1:简介
Python是⼀门简单易学,功能强⼤的编程语⾔。它具有⾼效的⾼层次数据结构,简单但有效的⽅式⽀持⾯向对象编程,语法优雅,动态类型,解释执⾏。使之成为多数平台上很多领域的脚本和快速应⽤开发的理想语⾔。它的设计理念强调代码的可读性, 跟C ++或Java等语⾔⽐可以⽤更少的代码实现同样的概念。Python能清晰地实现⼩型和⼤型程序。
Python的解释器很容易⽤C或C++(或其他c可以调⽤的语⾔)扩展新功能和数据类型。 Python也适⽤于作为定制应⽤的扩展语⾔。
Python⽀持多种编程范式,包括⾯向对象的,命令式和函数式或过程式编程风格。它具有动态类型系统和⾃动内存管理和拥有庞⼤⽽全⾯的标准库
Python虚拟机本⾝⼏乎可以在所有的作业系统中运⾏。使⽤⼀些诸如py2exe、、PyInstaller之类的⼯具可以将Python源代码转换成可以脱离Python解释器运⾏的程序。
Python的官⽅解释器是CPython,该解释器⽤C语⾔编写,是⼀个由社区驱动的⾃由软件,⽬前由Python软件基⾦会管理。
本教程向读者通俗地介绍Python语⾔和系统的基本概念和特点。配合Python解释器边学边练最佳,所有
例⼦已经⾃包含在教程中,也可离线阅读。polite是什么意思
标准对象和模块参见。提供了Python更正式的说明。要⽤C或C++编写扩展参见和。
本教程不会⾯⾯俱到。它介绍了许多Python的最引⼈注⽬的特性,会让你了解python风格。看完之后可阅读和编写Python模块。
所有例⼦基于linux演⽰,不考虑Windows。
软件开发外包平台python的设计哲学与定位
Python的设计哲学是“优雅”、“明确”、“简单”。因此其对⼿Perl语⾔中“总是有多种⽅法来做同⼀件事”的理念在Python开发者中通 常是难以忍受的。Python开发者的哲学是“⽤⼀种⽅法,最好是只有⼀种⽅法来做⼀件事”。在设计Python语⾔时,如果⾯临多种选择,Python 开发者⼀般会拒绝花俏的语法,⽽选择明确没有或者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常被认为⽐Perl具备更好的可读性, 并且能够⽀撑⼤规模的软件开发。这些准则被称为Python格⾔。在Python解释器内运⾏import this可以获得完整的列表。
Python开发⼈员尽量避开不成熟或者不重要的优化。⼀些针对⾮重要部位的加快运⾏速度的补丁通常不会被合并到Python内。所以很多⼈[谁?]认为Python很慢。不过,根据⼆⼋定律,⼤多数程序对速
度要求不⾼。在某些对运⾏速度要求很⾼的情况,Python设计师倾向于使⽤JIT技 术,或者⽤使⽤C/C++语⾔改写这部分程序。⽬前可⽤的JIT技术是PyPy。
实际上python很多标准模块,⽐如socket等是c实现的,效率通常⽐⼀般开发⽤c语⾔的实现要⾼。另外python中的ctypes和 cpython可以达到c语⾔类似的效率。pypy在科学计算等相关⽅⾯效率可以接近C语⾔,但是在其他⽅⾯效率最多和java差不多,远不及C。
python入门教程2python的哲学基本上符合了伟⼤的世界历史名⼈⽼⼦的思想
python的地位
Python是什么,是蟒蛇么?
什么,是⼀种编程语⾔?这个是⼤陆很多测试从业者的反应。
我们来看看国际权威机构对python地位的评价:
IEEE 2015年对python的整体评价:
从上图可以看出,python位于第四名,主要⽤于web开发和系统管理。
⽆论那个排名,python都是脚本语⾔的⽼⼤。整体综合python位于第2-5名之间。在⼤陆,python因为中⽂资料相对匮乏,使⽤者偏少,但是也在快速发展中。
Python的使⽤范围
⼤陆开源软件排名第⼀的goagent就是纯python书写的。软件Shadowsocks也有python实现。
⾖瓣⽹、知乎、果壳、海淘通、Reddit等公司python占了⼤头。
什么是一种高级语言YouTube、Google、Facebook、Yahoo!、NASA等公司python是核⼼语⾔。
阿⾥巴巴、腾讯、百度、OPPO等有较⼤规模的python应⽤。
Web开发
Python经常被⽤于Web开发。⽐如,通过mod_wsgi模块,Apache可以运⾏⽤Python编写的Web程序。使⽤Python语⾔编写的Gunicorn作为Web服务器,也能够运⾏Python语⾔编写的Web程序。Python定义了WSGI标准应⽤接⼝来协调Http服务器与基于Python的Web程序之间的沟通。⼀些Web框架,如Django、Pyramid、TurboGears、web2py、Zope、Flask、tornoda等,可以让程序员轻松地开发和管理复杂的Web程序。
Python 对于各种⽹络协议的⽀持很完善,因此经常被⽤于编写服务器软件、⽹络蠕⾍。第三⽅库Twisted⽀持异步在线编写程序和多数标准的⽹络协议(包含客户端 和服务器),并且提供了多种⼯具,被⼴泛⽤于编写⾼性能的服务器软件。另有gevent这个流⾏的第三⽅库,同样能够⽀持⾼性能⾼并发的⽹络开发。
爬⾍相关的库有lxml、re、urllib2、BeautifulSoup、scrapy等。
根据IEEE统计、Python是仅次于Java的第2⼤web开发语⾔。
GUI开发:
Python本⾝包含的Tkinter库能够⽀持简单的GUI开发。但是越来越多的Python程序员选择wxPython或者PyQt来开发跨平台的桌⾯软件。使⽤它们开发的桌⾯软件运⾏速度快,与⽤户的桌⾯环境相契合。通过PyInstaller还能将程序发布为独⽴的安装程序包。与C++相⽐较,使⽤Python开发桌⾯软件通常更快更容易。
操作系统:
在很多作业系统⾥,Python是标准的系统组件。⼤多数Linux发布版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端机下直接运⾏Python。有⼀些Linux发布版的安装器使⽤Python语⾔编写,⽐如Ubuntu的Ubiquity安装器、Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使⽤Python来编写它的Portage包管理系统。Python标准库包含了多个调⽤作业系统功能的库。通过pywin32这个第三⽅软件包,Python能够访问Windows的COM服务及其它Windows API。使⽤IronPython,Python程序能够直接调⽤.Net Framework。⼀般说来,Python编写的系统管理脚本在可读性、性能、源代码重⽤度、扩展性⼏⽅⾯都优于普通的shell脚本。在树莓派等相关硬件的系统中,python是核⼼语⾔。
⾃动化测试
开源智能客服系统
多数⼯具集成python作为开发语⾔。⽐如⾃动化测试⼯具Appium、Selenium等。性能测试⼯具Grinder。
UI测试有uiautomator、sikuli、PyAutoGUI、pywinauto、ldtp、dogtail等。
Python的性能测试库multi-mechanize和locustio、funkload等模块具备强⼤的编程能⼒,通常扩展性和执⾏效率远强于Loadrunner和Jmeter。
⾃动化测试框架pytest、Lettuce、Robot Framework、behave等有⼀定名⽓。
接⼝测试Python⼤量的库⽀持⼤量协议,⽐如HTTP,就可以requests基于pytest很快定制简单的接⼝测试框架。
抓包与流量控制有scapy、ATC、mitmproxy等。
命令⾏⾃动化有 pexpect、paramiko、subprocess、Fabric等。
跨语⾔协作:胶⽔语⾔:
python是各种语⾔交互的最佳语⾔。python本⾝有c,java,c#的实现,可以直接调⽤对应语⾔的相关功能。对于主流的语⾔,python都可以良好的交互。
科学计算:
NumPy、SciPy、Matplotlib可以让Python程序员编写科学计算程序。Python⼀开始就在科学计算⽅⾯很出名,现在也是⼤数据处理的核⼼语⾔,多数云平台选择python作为核⼼语⾔。
游戏
很多游戏使⽤C++编写图形显⽰等⾼性能模块,⽽使⽤Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更⼩;⽽Python则⽀持更多的特性和数据类型。很多游戏,如EVE Online使⽤Python来处理游戏中繁多的逻辑。
python历史
Python的创始⼈为吉多·范罗苏姆(Guido van Rossum)。
1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决⼼开发⼀个新的脚本解释程序,作为ABC语⾔的⼀种继承。之所以选中Python作为程序的名字,是因为他是⼀个蒙提·派森的飞⾏马戏团()的爱好者。ABC是由吉多参加设计的⼀种教学语⾔。就吉多本⼈看来,ABC这种语⾔⾮常优美和强⼤,是专门为⾮专业程序员设计的。但认为是⾮开放造成的。吉多决⼼在Python中避免这⼀错误,并取得了⾮常好的效果,完美结合了C和其他⼀些语⾔。
就这样,Python在吉多⼿中诞⽣了。实际上,第⼀个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另⼀种相当优美且强⼤的语⾔,为⼩型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
⽬前吉多仍然是Python的主要开发者,决定整个Python语⾔的发展⽅向。Python社区经常称呼他是仁慈的独裁者。
Python 2.0于2000年10⽉16⽇发布,增加了实现完整的垃圾回收,并且⽀持Unicode。同时,整个开发过程更加透明,社区对开发进度的影响逐渐扩⼤。 Python 3.0于2008年12⽉3⽇发布,此版不完全兼容之前的Python源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。
Python是完全⾯向对象的语⾔。函数、模块、数字、字符串都是对象。并且完全⽀持继承、重载、派⽣、多继承,有益于增强源代码的复⽤性。 Python⽀持重载运算符,因此Python也⽀持泛型设计。相对于Lisp这种传统的函数式编程语⾔,Python对函数式设计只提供了有限的⽀持。 有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计⼯具。
虽然Python可能被粗略地分类为“脚本语⾔”(script language),但实际上⼀些⼤规模软件开发计划例如Zope、Mnet及
BitTorrent,Google也⼴泛地使⽤它。Python的⽀持者 较喜欢称它为⼀种⾼级动态编程语⾔,原因是“脚本语⾔”泛指仅作简单程序设计任务的语⾔,如shell script、VBScript等只能处理简单任务的编程语⾔,并不能与Python相提并论。
Python本⾝被设计为可扩充的。并⾮所有的特性和功能都集成到语⾔核⼼。Python提供了丰富的API和⼯具,以便程序员能够轻松地使⽤C语 ⾔、C++、Cython来编写扩充模块。Python编译器本⾝也可以被集成到其它需要脚本语⾔的程序内。因此,很多⼈还把Python作为⼀种“胶⽔ 语⾔”(glue language)使⽤。使⽤Python将其他语⾔编写的程序进⾏集成和封装。在Google内部的很多项⽬,例如Google Engine使⽤C++编写性能要求极⾼的部分,然后⽤Python或Java/Go调⽤相应的模块。《Python技术⼿册》的作者马特利(Alex Martelli)说:“这很难讲,不过,2004年,Python已在Google内部使⽤,Google召募许多Python⾼⼿,但在这之前就已决 定使⽤Python。他们的⽬的是尽量使⽤Python,在不得已时改⽤C++;在操控硬件的场合使⽤C++,在快速开发时候使⽤Python。”
如何选择python第三⽅模块
3,linux的包管理提供了丰富的⾼质量的python模块,可以尝试使⽤。
⽐如在centos中使⽤ "yum search all pexpect"
4,pythonxy 封装很多优秀的windows上的python模块,安装⽅便,推荐。
安装
1,Linux类系统⾃带,初学使⽤默认即可。
注意: Python3在⽹络等⽅⾯有较⼤的改进、与python2不兼容。但是有⼀些外部库还不⽀持Python3,通常安装python2⽐较好。
python集成开发环境
通⽤IDE|⽂本编辑器
很多并⾮集成开发环境软件的⽂本编辑器,也对Python有不同程度的⽀持,并且加上专门为Python设计的编辑器插件也会有很⾼的可⽤性。
eclipse + pydev插件,⽬前对Python 3.X只⽀持到3.0
emacs + 插件
NetBeans + 插件
SlickEdit
win32汇编语言程序设计pdf
Geany 推荐
TextMate
Python Tools for Visual Studio
Vim + 插件
Sublime Text + 插件
EditPlus
UltraEdit
PSPad
Editra 由Python开发的程序编辑器。
PyCharm 推荐
Notepad++ 推荐
专门为Python设计的IDE软件
适⽤于Python的集成开发环境(IDE)软件,除了标准⼆进制发布包所附的IDLE之外,还有许多其他选择。其中有些软件设计有语法着⾊、语法检查、 运⾏调试、⾃动补全、智能感知等便利功能。由于Python的跨平台出⾝,这些软件往往也具备各种操作系统的版本或⼀定的移植性。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。