Python发音
Python(发音:[ 'paiθ(ə)n; (US) 'paiθɔn ]),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。
这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。
目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
Python的历史
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。之所以选中 Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python的飞行马戏团的爱好者。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在 Python 中避免这一错误(的确如此,Python 与其它的语言如C、C++和Java结合的非常好)。同时,他还想实现在 ABC 中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
Python在编程语言中的定位
虽然 Python 可能被粗略地分类为"脚本语言(scripting language)", 实际上一些大规模软件开发计划例如 Zope, Mnet 及 BitTorrent. Google也广泛地使用它。 Python 的支持者较喜欢称它为一种高阶动态编程语言 , 原因是"脚本语言" 泛指单用作简单编程任务如 shell scripts ,而Python不能与JavaScript等只能处理简单任务的编程语言相提并论。Python的特色
可扩充性可说是Python作为一种编程语言的特色。新的内置模块(module)可以用C 或 C++写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的python格言(称为The Zen of Python)里面表述为:
There should be one-- and preferably only one --obvious way to do it.
有意思的是,这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。这似乎是人们常把Perl和Python互相比较的重要原因。
Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是Python的缩进规则。
例如if语句:
if age<21:
print "You cannot buy wine!/n"
print "But you can buy chewing gum./n"
print "this is outside if/n"
一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确 的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为 是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方), Python确实使得程序更加清晰和美观。
另外Python在其他部分的设计上也坚持了清晰划一的风格,这使得Python称为一门易读性、易维护性好,并且被大量用户所欢迎的、用途广泛的语言。
虽然Python是一个非常成功的语言,但是也有必要明白它的局限性。
1. 运行效率低下
目前为止,Python可以说是所有主流脚本语言中速度最慢的。(是这样么?待考.)这与其脚本引擎的设计思路有关。
如果你的应用对于速度有着较高的要求,就要考虑Python是否能满足需要。不过这一点可以通
过使用C编写关键模块,然后由Python调用的方式加以部分解决。
2. 多线程支持欠佳
Python支持多线程,但是其运行效率也不高。
3. 独特的语法
这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。
即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导
致错误,而这是用肉眼无法分别的。
4. 无类型
作为一种动态语言,随时随地创建和使用变量是Python给我们带来的巨大的便利。但是它也会
使得程序不严谨,某些错误只有在运行中才可能出现。所以,使用Python编程的时候,要对类
型做到心里有数。这也使得Python的IDE工具无法提供便利的自动完成等功能。
Python的前景
Python在编程领域的占有率一直处于稳步上升之中,根据最新的数据,Python排名第七。前六名分别是Java,C,VB,C++,PHP和Perl. 作为一个很年轻的语言,Python的位置已经相当令人振奋了。随着微软将Python纳入
.Net 平台,相信Python的将来会更加强劲发展。Python 很可能会成为.Net平台快速开发的主流语言。
欲了解这方面情况,请参考Iron Python的相关信息.
著名的搜索引擎 Google 也大量使用Python。
更加令人吃惊的是,在Nokia智能手机所采用的Symbian操作系统上,Python成为继C++,Java之后的
第三个编程语言!可见Python的影响力之巨大。
Python的应用
Zope-应用服务器Plone-内容管理系统
Django-鼓励快速开发的web framework
Twisted - Python Network Application Framework Python的网络应用程序框架
TurboGears - 另一个Web应用快速开发框架
Bit Torrent - 著名的BT下载工具
2006年的Google编程大赛已经将Python作为参赛语言之一
Python几种开发工具介绍
1 IDLE1.1 IDLE是python创初人Guido van Rossum使用python and Tkinter来创建的一个集成开发环境。要使用IDLE必须安装python and Tkinter。
1.2 特性:自动缩进,彩色编码,命令历史(Alt+p,Alt+n)和单词自动(Alt+/)完成。
1.3 用IDLE执行Tkinter程序,不要在程序中包括mainloop。IDLE本身就是Tkinter应用程序,它会自动调用mainloop。再调用一次mainloop会与IDLE的事件循环冲突,造成运行时错误。
2 BlackAdder
2.1 BlackAdder支持windows and linux环境。用它创建的程序可在任何一种平台上运行,负责维护它的是TheKompany.com。他们发布了该软件的个人版,只提供有限的支持;以及专业版,需要许可,面向商业软件开发者。详情请访问 www.thekompany.com/p
3 PythonWorks
3.1 它由SecretLabs公司发布,该公司致力于Python项目的开发与部署提供相应的工具。PythonWorks是一种“快速应用程序开发”(RAD)工具,程序员可借助它快速地创建、调试和发布程序。
3.2 PythonWorks包括一个HTML/XML编辑器、具有完全索引的文档、一个源码管理系统(用于项目分组)、自定义的代码编辑特性以及一个GUI布局编辑器。支持jython。
3.3 允许用户以多种形式对项目进行打包:源码形式、可执行程序形式以及.pyc形式。
3.4 有版权,需购买,详情请访问 www.pythonware.com/p
4 Wing IDE
4.1 Wing IDE由Archaeopteryx Software公司开发与支持,适用于windows and linux环境。它提供一个源码分析器和浏览器、项目管理能力以及文本编辑器和调试器。
4.2 它由python编写,并包含python源码。购买者可自定义源码,以适应自已的要求,但是,不可将修改过的代码用于赢利目的。
4.3 全功能演示版可在archaeopteryx.com/wingide下载。(mypython.net提供wing IDE 1.1.9.1及其license)
5 Pythonwin
5.1 Pythonwin集成开发环境包含在由ActiveState出品的ActivePython中,ActivePython是一个二进制build。其中包括用于XML处理的expat模块,以及一系列windows工具。
5.2 提供的特性有:彩色编码、源代码折叠、单词完成及自动缩进。调试器支持事后诊断功能、标准的单步调试、断点设计及变量监视。
5.3 详情请访问aspn.activestate.com/activepython。
6 Komodo
6.1 ActiveState还为python提供了另一个IDE,名为Komodo,可用它在windows and linux上开发程序。Komodo最大的特点是,它是Perl,PHP,Tcl,HTML,XML AND XSLT的一种集成开发环境。
7 Boa Constructor
7.1 Boa是一个跨平台的python IDE和WxPython GUI。它提供可视化的编程和操作框架,能方便地进行程序的设计。它有一个对象浏览器,并提供有各种资源的视图,有一个html文档生成器,还有一个先进 的调试器和完整的帮助系统。Boa还提供对zope的支持,能添加、删除、复制、剪切、导入和导出zope中的对象。能编辑对象属性和进行python脚 本的调试。Boa是用python基于WxPython库编写的。 用起来就象vb或delphi一样方便。
7.2 下载地址是: http://boa-construct