1.2 Python的特征 程序设计语言在不断地发展,从最初的汇编语言到后来的C、Pascal等语言,发展到现在的C++、Java等高级编程语言。程序设计的难度在不断的减小,软件的开发和设计已经形成了一套标准,开发工作已经不再是复杂的任务。最初只能使用机器码编写代码,而现在可以使用具有良好调试功能的IDE环境编程。Python使用C语言开发,但是Python不再有C语言中的指针等复杂的数据类型。Python的简洁性使得软件的代码大幅度的减少,开发任务进一步简化。程序员关注的重点不再是语法特性,而是程序所要实现的任务。Python语言有许多重要的特性,而且有些特性是富有创造性的。 1.面向对象的特性 面向对象的程序设计降低了结构化程序设计的复杂性,使得程序设计更贴近现实生活。结构化程序设计把数据和逻辑混合在一起,不便于程序的维护。面向对象的程序设计抽象出对象的行为和属性,把行为和属性分离开,但又合理的组织在一起。Python语言具有很强的面向对象特性,而且简化了面向对象的实现。它消除了保护类型、抽象类、接口等面向对象的元素,使得面向对象的概念更容易理解。 2.简单性 Python语言的保留字比较少。它没有分号、begin、end等标记,代码块使用空格或制表键缩进的方式分隔代码。Python的代码简洁、短小,易于阅读。Python简化了循环语句,使程序结构很清晰,方便阅读。详细说明请参考第2章的相关内容。表1-1列出了Python2.5中所有的保留字。 表1-1 Python2.5中所有的保留字 保 留 字说 明 and用于表达式运算,逻辑与操作 as用于类型转换 assert断言,用于判断变量或条件表达式的值是否为真 break中断循环语句的执行 class用于定义类 continue 继续执行下一次循环 def用于定义函数或方法 del删除变量或序列的值 elif条件语句,与if、else结合使用 else条件语句,与if、elif结合使用。也可用于异常和循环语句 exceptexcept包含捕获异常后的操作代码块,与try、finally结合使用 exec用于执行Python语句 forfor循环语句 finally用于异常语句,出现异常后,始终要执行finally包含的代码块。与try、except结合使用 from用于导入模块,与import结合使用 global定义全局变量 if条件语句,与else、elif结合使用 import用于导入模块,与from结合使用 in判断变量是否在序列中 is判断变量是否为某个类的实例 lambda定义匿名函数 not用于表达式运算,逻辑非操作 or用于表达式运算,逻辑或操作 pass空的类、方法或函数的占位符 print打印语句 raise异常抛出操作 return用于从函数返回计算结果 trytry包含可能会出现异常的语句,与except、finally结合使用 whilewhile循环语句 with简化Python的语句 yield用于从函数依次返回值(参考5.3.7节的内容) 可以使用以下代码查看Python中的保留字: from keyword import kwlist print kwlist 3.内置的数据结构 Python提供了一些内置的数据结构,这些数据结构实现了类似Java中集合类的功能。Python的数据结构包括元组、列表、字典等。内置的数据结构简化了程序的设计。元组相当于“只读”的数组,列表可以作为可变长度的数组使用,字典相当于Java中的HashTable类型。内置数据结构的使用方法详见第4章。 4.健壮性 Python提供了异常处理机制,能捕获程序的异常情况。此外,Python的堆栈跟踪对象能够指出程序出错的位置和出错的原因。异常机制能够避免不安全退出的情况,同时能帮助程序员调试程序。详细说明请参考第9章的相关内容。 5.跨平台性 Python会先编译为与平台相关的二进制代码,然后再解释执行,这种方式和Java类似。Python编写的应用程序可以运行在Windows、UNIX、Linux等不同的操作系统上。在一种操作系统上编写的Python代码只需要做少量的修改,就可以移植到其他操作系统上。 6.可扩展性 Python是采用C开发的语言,因此可以使用C扩展Python,可以给Python添加新的模块、新的类。同时Python可以嵌入到C、C++语言开发的项目中,使程序具备脚本语言的特性。 7.动态性 Python与JavaScript、PHP、Perl等语言类似。Python不需要另外声明变量,直接赋值即可创建一个新的变量。 8.强类型语言 Python的变量创建后会对应一种数据类型,Python会根据赋值表达式的内容决定变量的数据类型。Python在内部建立了管理这些变量的机制,出现在同一个表达式中的不同类型的变量需要做类型转换。 9.应用广泛 Python语言应用于数据库、网络、图形图像、数学计算、Web开发、操作系统扩展等领域。Python有许多第三方库支持。例如,PIL库用于图像处理、NumPy库用于数学计算、WxPython库用于GUI程序的设计、Django库用于Web应用程序的开发等。