什么是Python?

  Python(大蟒蛇)是一门解释型、面向对象、带有动态语义的高级程序设计语言。python

      在于1989年,由一位名叫Guido van Rossum(吉多.范罗苏姆),为打发时间设计了Python语言,第一个发行版公开于1991年。linux

  Python是一款纯粹的自由软件,源代码和解释器CPython都遵循了GPL(GNU General Public License)协议。android

  Python语法清晰简洁,最有特点的是用空白符做为语句的缩进。c++

  Python具备强大而丰富的类库,也常常被别人说是胶水语言,能够跟其它语言(c/c++)写的模块结合在一块儿。常见的状况是使用Python快速生成程序的原型,而后有一部分须要有特别高的要求,须要其它语言改写。例如3D游戏中的图形渲染须要用到C/C++编写,而后封装成.py扩展类库由Python调用。须要注意的使用扩展类型须要考虑跨平台性。程序员

  优势:
正则表达式

    1.简单:Python是一种表明简单主义思想的语言。算法

    2.易用:Python简单容易上手,由于有简单容易看懂的文档。shell

    3.速度快:运行速度快,由于Python中的标准库和第三方库都是C语言编写的,因此很快。数据库

    4.免费、开源:Python是一款FLOSS(自由/源代码软件)之一,使用者能够自由地发布这个软件的拷贝、阅读它的源代码、对它作改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。编程

    5.高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

    6.可移植性:因为它的开源本质,Python已经被移植在许多平台上(通过改动使它可以工做在不一样平台上)。这些平台包括Linux、Windows、 FreeBSD、Macintosh、Solaris、OS/二、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。

    7.解释性:一个用编译性语言好比C或C++写的程序能够从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程经过编译器和不一样的标记、选项完成。运行程序的时候,链接/转载器软件把你的程序从硬盘复制到内存中而且运行。而Python语言写的程序不须要编译成二进制代码。你能够直接从源代码运行 程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,而后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。

    8.面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

    9.可扩展性:若是须要一段关键代码运行得更快或者但愿某些算法不公开,能够部分程序用C或C++编写,而后在Python程序中使用它们。

    10.可嵌入性:能够把Python嵌入C/C++程序,从而向程序用户提供脚本功能。

    11.丰富的库:Python标准库确实很庞大。它能够帮助处理各类工做,包括正则表达式、文档生成、单元测试线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其余与系统有关的操做。这被称做Python的“功能齐全”理念。除了标准库之外,还有许多其余高质量的库,如wxPython、Twisted和Python图像库等等。

    12.规范的代码:Python采用强制缩进的方式使得代码具备较好可读性。而Python语言写的程序不须要编译成二进制代码。

  缺点:

    1.单行语句和命令行输出问题:不少时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,能够较为方便的在shell下完成简单程序,不须要如Python同样,必须将程序写入一个.py文件。

    2.独特的语法:这也许不该该被称为局限,可是它用缩进来区分语句关系的方式仍是给不少初学者带来了困惑。即使是颇有经验的Python程序员,也可能陷入陷阱当中。最多见的状况是tab和空格的混用会致使错误,而这是用肉眼没法分别的。

    3.运行速度慢:这里是指与C和C++相比。

  

  应用:

    系统编程:提供APIApplication Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是不少系统管理员理想的编程工具[6]  。

    图形处理:有PIL、 Tkinter等图形库支持,能方便进行图形处理。
 
    数学处理:NumPy扩展提供大量与许多标准数学库的接口。
 
    文本处理:python提供的re模块能支持 正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。数据库编程:程序员可经过遵循Python DB-API(数据库 应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通讯。python自带有一个Gadfly模块,提供了一个完整的SQL环境。 网络编程:提供丰富的模块支持sockets编程,能方便快速地开发 分布式应用程序。不少大规模软件开发计划例如 Zope,Mnet 及 BitTorrent. Google都在普遍地使用它。
 
    Web编程:应用的开发语言,支持最新的XML技术。
 
    多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维 图像处理。PyGame模块可用于编写游戏软件。
 
    pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,而且适用于建立 秋之回忆memories off)风格的AVG游戏,故命名为PYMO。

    黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,可是缺乏成就感。

  标准库:    

    Python拥有一个强大的标准库。Python语言的核心只包含数字、 字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通讯、文本处理、数据库接口、图形系统、XML处理等额外的功 能。Python标准库命名接口清晰、文档良好,很容易学习和使用。
 
    Python社区提供了大量的第三方模块,使用方式与标准库相似。它们的功能无所不包,覆盖科学计算、Web开发、数据库接口、图形系统多个领域,而且大多成熟而稳定。第三方模块可使用Python或者 C语言编写。 SWIG,SIP 经常使用于将C语言编写的程序库转化为Python模块。Boost C++ Libraries包含了一组库,Boost.Python,使得以 Python 或 C++ 编写的程序能互相调用。借助于拥有基于标准库的大量工具、可以使用低级语言如C和能够做为其余库接口的C++,Python已成为一种强大的应用于其余语 言与工具之间的 胶水语言
 
    Python标准库的主要功能有:文本处理,包含文本格式化、正则表达式匹配、文本差别计算与合并、Unicode支持,二进制数据,文件处理,包含文件操做、建立临时文件、文件压缩与归档、操做配置文件等功能,操做系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、写日记(logging)等功能,网络通讯,包含网络套接字,SSL加密通讯、异步网络通讯等功能网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架,W3C格式支持,包含HTML,SGML,XML的处理。其它功能,包括国际化支持、数学运算、HASH、Tkinter等
相关文章
相关标签/搜索