《python小白入门系列教程》 专栏 • 第02篇php
文 | 曾庆林python
1989年 Guido van Rossum开始编写Python语言编辑器(龟叔为了打发无聊的圣诞节)程序员
1991年 第一个Python编译器诞生(正式诞生)web
1994年 Python1.0 增长内置函数正则表达式
2004年 Python204 web框架、Django算法
2008年 Python2.6 Python3.0(同一年出2个版本)shell
Python2 :源码不标准、混乱、重复代码太多吧数据库
Python3 :标准、统1、去重编程
Python语言特色:优美、简单、清晰。浏览器
编译型 | 解释型 |
一次性将全部程序编译成二进制文件 | 当程序执行时,一行一行的解释 |
开发效率低,不能跨平台 | 开发效率高,能够跨平台 |
运行速度快 | 运行速度慢 |
C,C++等等 | python ,php等等 |
简单————Python是一种表明简单主义思想的语言。Python的这种伪代码本质是它最大的优势之一。它使你可以专一于解决问题而不是去搞明白语言自己。
易学————就如同你即将看到的同样,Python极其容易上手,Python有极其简单的语法。
免费、开源————Python是FLOSS(自由/开放源码软件)之一。简单地说,你能够自由地发布这个软件的拷贝、阅读它的源代码、对它作改动、把它的一部分用于新的自由软件中。
高层语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性————因为它的开源本质,Python已经被移植在许多平台上(通过改动使它可以工做在不一样平台上)。
解释型————一个用编译性语言好比C或C++写的程序能够从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。
这个过程经过编译器和不一样的标记、选项完成。当你运行你的程序的时候,链接/转载器软件把你的程序从硬盘复制到内存中而且运行。而Python语言写的程序不须要编译成二进制代码。你能够直接从源代码运行程序。
在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,而后再把它翻译成计算机使用的机器语言并运行。事实上,因为你再也不须要担忧如何编译程序,如何确保链接转载正确的库等等,全部这一切使得使用Python更加简单。因为你只须要把你的Python程序拷贝到另一台计算机上,它就能够工做了,这也使得你的Python程序更加易于移植。
面向对象————Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其余主要的语言如C++和Java相比,Python以一种很是强大又简单的方式实现面向对象编程。
可扩展性————若是你须要你的一段关键代码运行得更快或者但愿某些算法不公开,你能够把你的部分程序用C或C++编写,而后在你的Python程序中使用它们。
丰富的库————Python标准库确实很庞大。它能够帮助你处理各类工做,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其余与系统有关的操做。记住,只要安装了Python,全部这些功能都是可用的。这被称做Python的“功能齐全”理念。除了标准库之外,还有许多其余高质量的库,如wxPython、Twisted和Python图像库等等。
规范的代码————Python采用强制缩进的方式使得代码具备极佳的可读性。
运行速度,有速度要求的话,最好用C++改写关键部分。
代码不能加密。
国内市场较小(国内以python来作主要开发的,目前只有一些web2.0公司)。但时间推移,目前不少国内软件公司,尤为是游戏公司,也开始规模使用。
中文资料匮乏(好的python中文资料屈指可数),托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容仍是只能看英语版。
构架选择太多(没有像C#这样的官方.net构架,也没有像ruby因为历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另外一个侧面说明,python比较优秀,吸引的人才多,项目也多。
提供API(ApplicationProgrammingInterface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是不少系统管理员理想的编程工具。
有PIL、Tkinter等图形库支持,能方便进行图形处理。
NumPy扩展提供大量与许多标准数学库的接口。
python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
程序员可经过遵循PythonDB-API(数据库应用程序编程接口)规范的模块与MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite等数据库通讯。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。不少大规模软件开发计划例如Zope,Mnet及BitTorrent.Google都在普遍地使用它。
应用的开发语言,支持最新的XML技术。
Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
PYMO全称为pythonmemoriesoff,是一款运行于SymbianS60V3,Symbian3,S60V5,Symbian3,Android系统上的AVG游戏引擎。因其基于python2.0平台开发,而且适用于建立秋之回忆(memoriesoff)风格的AVG游戏,故命名为PYMO。
python有一个hack的库,内置了你熟悉的或不熟悉的函数,可是缺乏成就感。
Python常常被用于Web开发。好比,经过mod_wsgi模块,Apache能够运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通讯。一些Web框架,如Django,TurboGears,web2py,Zope等,可让程序员轻松地开发和管理复杂的Web程序。
在不少操做系统里,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脚本。
NumPy,SciPy,Matplotlib可让Python程序员编写科学计算程序。
PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。
Python对于各类网络协议的支持很完善,所以常常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),而且提供了多种工具,被普遍用于编写高性能的服务器软件。
不少游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。
YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。
Python支持函数式编程和OOP面向对象编程,可以承担任何种类软件的开发工做,所以常规的软件开发、脚本编写、网络编程等都属于标配能力。
随着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等众多程序库的开发,Python愈来愈适合于作科学计算、绘制高质量的2D和3D图像。
和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更普遍,有更多的程序库的支持。虽然Matlab中的许多高级功能和toolbox目前仍是没法替代的,不过在平常的科研开发之中仍然有不少的工做是能够用Python代劳的。
这几乎是Python应用的自留地,做为运维工程师首选的编程语言,Python在自动化运维方面已经深刻人心,好比Saltstack和Ansible都是大名鼎鼎的自动化平台。
开源云计算解决方案OpenStack就是基于Python开发的,搞云计算的同窗都懂的。
基于Python的Web开发框架不要太多,好比耳熟能详的Django,还有Tornado,Flask。其中的Python+Django架构,应用范围很是广,开发速度很是快,学习门槛也很低,可以帮助你快速的搭建起可用的WEB服务。
也称网络蜘蛛,是大数据行业获取数据的核心工具。没有网络爬虫自动地、不分昼夜地、高智能地在互联网上爬取免费的数据,那些大数据相关的公司恐怕要少四分之三。可以编写网络爬虫的编程语言有很多,但Python绝对是其中的主流之一,其Scripy爬虫框架应用很是普遍。
在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石。Python是数据分析的主流语言之一。
Python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,获得普遍的支持和应用。
Python的做者,Guido von Rossum,荷兰人。
Python的发音与拼写
Python的意思是蟒蛇,源于做者喜欢的一部电视剧 (C呢?)
Python的做者是Guido van Rossum(龟叔)
Python是龟叔在1989年圣诞节期间,为了打发无聊的圣诞节而用C编写的一个编程语言
Python正式诞生于1991年
Python的解释器现在有多个语言实现,咱们经常使用的是CPython(官方版本的C语言实现),其余还有Jython(能够运行在Java平台)、IronPython(能够运行在.NET和Mono平台)、PyPy(Python实现的,支持JIT即时编译)
Python目前有两个版本,Python2和Python3
Life is shot, you need Python. 人生苦短,我用Python。
手机练习地址: