1.2 Python的特色
程序设计语言在不断发展,从最初的汇编语言到后来的C、Pascal语言,发展到现在的C++、Java等高级编程语言。程序设计的难度在不断减小,软件的开发和设计已经形成了一套标准,开发工作已经不再是复杂的任务。最初只能使用机器码编写代码,而现在可以使用具有良好调试功能的IDE环境编程。Python使用C语言开发,但是Python不再有C语言中的指针等复杂数据类型。Python的简洁性使得软件的代码大幅度地减少,开发任务进一步简化。程序员关注的重点不再是语法特性,而是程序所要实现的任务。Python语言有许多重要的特性,而且有的特性是富有创造性的。
1.面向对象的特性
面向对象的程序设计解决了结构化程序设计的复杂性,使得程序设计更贴近现实生活。结构化程序设计把数据和逻辑混合在一起,不便于程序的维护。面向对象的程序设计抽象出对象的行为和属性,把行为和属性分离开,但又合理地组织在一起。Python语言具有很强的面向对象特性,而且简化了面向对象的实现。它消除了保护类型、抽象类、接口等面向对象的元素,使得面向对象的概念更容易理解。
2.内置的数据结构
Python提供了一些内置的数据结构,这些数据结构实现了类似Java中集合类的功能。Python的数据结构包括元组、列表、字典、集合等。内置数据结构的出现简化了程序的设计。元组相当于“只读”的数组,列表可以作为可变长度的数组使用,字典相当于Java中的HashTable类型。内置数据结构的具体使用方法详见第4章。
3.简单性
Python语言的关键字比较少。它没有分号、begin、end等标记,代码块使用空格或制表键缩进的方式来分隔。Python的代码简洁、短小,易于阅读。Python简化了循环语句,即使程序结构很复杂也能快速读懂。详细信息请参考第2章的相关内容。
4.健壮性
Python提供了异常处理机制,能捕获程序的异常情况。此外Python的堆栈跟踪对象能够指出程序出错的位置和出错的原因。异常机制能够避免不安全退出的情况,同时能帮助程序员调试程序。详细信息请参考第9章的相关内容。
5.跨平台性
Python会先被编译为与平台相关的二进制代码,然后再解释执行。这种方式和Java类似,但Python的执行速度提高了。Python编写的应用程序可以运行在Windows、UNIX、Linux等不同的操作系统上。在一种操作系统上编写的Python代码只需做少量的修改,就可以移植到其他的操作系统上。
6.可扩展性
Python是采用C开发的语言,因此可以使用C扩展Python,可以给Python添加新的模块、新的类。同时Python可以嵌入C、C++语言开发的项目中,使程序具备脚本语言的特性。
7.动态性
Python与JavaScript、PHP、Perl等语言类似,它不需要另外声明变量,直接赋值即可创建一个新的变量。
8.强类型语言
Python的变量创建后会对应一种类型,它可根据赋值表达式的内容决定变量的类型。Python在内部建立了管理这些变量的机制,不同类型的变量需要类型转换。
9.应用广泛
Python语言应用于数据库、网络、图形图像、数学计算、Web开发、操作系统扩展等领域。有许多第三方库支持Python。例如,PIL库(目前已经不再维护,取而代之的有Pillow)用于图像处理、NumPy库用于数学计算、WxPython库用于GUI程序的设计、Django框架用于Web应用程序的开发等。