Python的特点
尽管Python 已经流行了超过15 年,但是一些人仍旧认为相对于通用软件开发产业而言, 它还是个新丁。我们应当谨慎地使用“相对”这个词,因为“网络时代”的程序开发,几年看 上去就像几十年。
当人们询问“什么是Python”的时候,很难用任何一个具象来描述它。人们更倾向于 一口气不加思索地说出他们对Python 的所有感觉,这些特点究竟 又是什么呢?为了让你能知其所以然,我们下面会对这些特点进行逐一地阐释。
你可以在Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acorn RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE,甚至PocketPC平台上使用Python。
你甚至可以使用类似Kivy平台为iOS(iPhone、iPad)和Android创建游戏。
使用编译型语言(像C或者C++)编写的程序,会由编译器使用一系列标志和选项,将源代码(如C或者C++)转换成一种电脑能够识别的语言(二进制代码,也就是0和1)。在运行程序时,链接器/载入软件将程序从硬盘复制到内存,然后开始运行。
换句话说,Python不需要编译成二进制代码。你只需从源代码直接运行程序。在内部,Python将源代码转换成一种称为字节码的中间格式,然后将其翻译你的计算机的机器语言,然后开始运行。事实上,这一切都让Python的使用更为简单,因为你不必担心程序的编译、保证恰当的库被链接和载入等等。这也使得你的Python程序更易于移植,因为你只需要复制你的Python程序到另外一台计算机,然后它就可以工作了!
除了标准库,还有各式各样的其它高质量库,你可以在Python包索引找到它们。
当人们询问“什么是Python”的时候,很难用任何一个具象来描述它。人们更倾向于 一口气不加思索地说出他们对Python 的所有感觉,这些特点究竟 又是什么呢?为了让你能知其所以然,我们下面会对这些特点进行逐一地阐释。
简单
Python是一门简单而文字简约的语言。阅读好的Python程序感觉就像阅读英语,尽管是非常严格的英语。Python的这种伪代码特性是其最大强项之一,它可让你专注于解决问题的办法而不是语言本身。容易学习
正如你即将看到的,Python非常容易上手。就像刚刚提到的,Python具有格外简单的语法。免费开源
Python是一个FLOSS(自由/自由与开源软件)的例子。在一些简单的条款之下,你可以自由地分发这个软件的拷贝,阅读其源代码,修改它,或者将其一部分用到新的自由程序中。FLOSS是基于共享知识社区的概念,这是Python如此好的原因之一——它是由那些希望看到更好的Python的社区创建和不断改进的。高级语言
当你使用Python编写程序时,你永远不需要担心低级细节,比如你的程序管理内存的使用等。可移植
基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。只要你足够小心,避免使用系统相关特性,你的所有Python程序都可以不加修改地运行在这其中任意平台。你可以在Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acorn RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE,甚至PocketPC平台上使用Python。
你甚至可以使用类似Kivy平台为iOS(iPhone、iPad)和Android创建游戏。
解释型
这需要一些解释。使用编译型语言(像C或者C++)编写的程序,会由编译器使用一系列标志和选项,将源代码(如C或者C++)转换成一种电脑能够识别的语言(二进制代码,也就是0和1)。在运行程序时,链接器/载入软件将程序从硬盘复制到内存,然后开始运行。
换句话说,Python不需要编译成二进制代码。你只需从源代码直接运行程序。在内部,Python将源代码转换成一种称为字节码的中间格式,然后将其翻译你的计算机的机器语言,然后开始运行。事实上,这一切都让Python的使用更为简单,因为你不必担心程序的编译、保证恰当的库被链接和载入等等。这也使得你的Python程序更易于移植,因为你只需要复制你的Python程序到另外一台计算机,然后它就可以工作了!
面向对象
Python同时支持面向过程和面向对象编程。在面向过程语言中,程序围绕着过程或者函数(只不过是可重复使用的程序片段)构建。在面向对象语言中,程序围绕着对象(数据和功能的组合)构建。Python具有非常强大但是过于简洁的执行面向对象编程的方式,特别是相对于C++或者Java这种大型语言来说。可扩展
如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。可嵌入
你可以将Python嵌入到C/C++程序,让你的程序的用户获得“脚本化”的能力。扩展库
Python标准库的确很大。它能够帮助你完成许多工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI(公共网关接口)、FTP(文件传输协议)、电子邮件、XML(可扩展标记语言)、XML-RPC(远程方法调用)、HTML(超文本标记语言)、WAV(音频格式)文件、加密、GUI(图形用户界面)以及其它系统相关的代码。记住,只要安装了Python,所有这些都能做到。这叫做Python的“遥控器”哲学。除了标准库,还有各式各样的其它高质量库,你可以在Python包索引找到它们。