Python是少有的几种既强大又简单的编程语言。你将惊喜地发现通过使用Python即可轻松专注于解决问题而非和你所用的语言格式与结构。
下面是Python的官方介绍:
Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms.
我将会在后续章节中介绍这些特性。
注:
Python创始人Guido van Rossum以BBC节目”Monty Python’s Flying Circus”命名该语言。他由其不喜欢用身体缠绕并杀死猎物来扑食的蛇。
Python的特性
简单
Python是一种简单、简约的编程语言。阅读优质Python程序将同阅读十分严谨的英语文章一样。Python的伪代码性质是其最大优点之一。这令你可仅关注待解决问题而非语言本身。
易于学习
正如上文所说,Python的格式非常简单。这令学习Python变得很容易。
自由开源
Python是一种自由及开放源代码软件。简而言之,你可以自由分发此软件的拷贝、阅读、更改、再利用其源代码。自由以及开放源代码软件基于分享知识的社群理念。Python由希望使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程序。
解释型
这需要一点解释。
由C或C++等编译型语言写成的源代码需要通过编译器附带若干编译选项转换为计算机讲的语言:二进制文件。运行这些二进制文件时,操作系统将它们加载至内存后运行。
然而Python程序并不需要编译为二进制文件。你可直接“运行“其源代码。Python将源代码转换成名为字节码的中间形式,然后再将字节码翻译为你的计算机的母语并运行。这些过程令你不再担心编译程序和加载依赖库,使Python更易使用。同样,这也使Python具备更好的可移植性:你可以将你的Python程序复制到其他电脑上并运行。
面向对象
Python不仅支持面向过程编程,还支持面向对象编程。面向过程语言中仅包涵过程、函数等可重复使用的程序片段。面向对象语言中程序由结合数据和函数的对象构成。Python拥有较于庞大的C++或Java简单却强大的面对对象编程方式。
扩展性
如果你追求关键代码的执行效率或不希望一些算法被看到,你可以将该部分程序以C或C++编写并在Python程序中使用它们。。
嵌入性
你可将Python嵌入你的C/C++程序,令你的程序具有脚本语言支持能力。
扩展库
Python标准库很大。它可帮助你进行包括正则表达式、生成文档、单元测试、线程处理、数据库、Web浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、加密、GUI、Tk以及其他系统依赖事物。请记住,这些特性在安装Python的地方即可使用。这就是Python的“自带电池”哲学。
还有很多根据标准库写成的高质量库,例如wxPython、Twisted、Python Imaging Library等。
Python是一种强大并令人兴奋的语言。它结合了性能与特性并使利用Python编程变得有趣和容易,
为何不用Perl?
如果你不知道的话,Perl是另一种极受欢迎的开源脚本编程语言。
如果你曾经试图用Perl编写大型程序,你可能已经找到了答案。根据我为Yahoo!编写大型Perl程序的经验,小型Perl程序易于编写并能很好地完成任务,单在程序规模扩大后,Perl程序会变得极为笨拙。
相比Perl,Python程序更简单、更清晰易懂、更便于编写,因此也就更具可读性和可维护性。我的确赞赏Perl并将其用于处理日常事物中,但每当我开始编写程序时Python便自然而然浮现在我的脑海中。Perl经过了太多的更改和处理。令人遗憾的是,即将推出的Perl 6并没有考虑对这方面进行改进。
我认为Perl拥有的唯一优势就是其Perl综合档案网,CPAN库。正如其名,CPAN库是一个巨大的Perl模块集合。它的大小和深度令人难以想象 - 你可以使你的电脑依靠这些模块做几乎任何一件事。Perl的历史较Python长是其拥有比Python更多模块的原因之一。但是发展中的Python包目录似乎可以改变这一局面。
为什么不是Ruby?
如果你不知道的话,Ruby是另一种极受欢迎的开源脚本编程语言。
如果你已经爱上了使用Ruby,我建议你继续使用Ruby。
如果你没有用过Ruby或还没决定使用Ruby或Python,从简单易学的观点上我建议你使用Python。我个人认为掌握Ruby语言有些困难。对于掌握Ruby的人来说,他们都在赞美Ruby的美丽,不幸的是,我没有这么幸运地学会Ruby。
程序员们的话
兴许你会对类似ESR的伟大黑客对Python的评价感到兴趣:
埃里克·雷蒙是《大教堂和市集》的作者和开放源代码一词的始作俑者。他说Python已经成为了他最喜爱的编程语言。这篇文章鼓舞了我首次接触Python。
Bruce Eckel是《Thinking in Java》和《Thinking in C++》的作者,他认为Python是仅有的一种旨在为程序员简化工作的编程语言。欲了解详情,请阅读完整采访。
Peter Norvig是著名的Lisp书籍作者、Google搜索质量主任(感谢Guido van Rossum指出)。他认为Python已经成为了Google不可或缺的一部分。你可以通过浏览Google Jobs确定这个论断:对Python的了解已经成了对Google软件工程师的要求。
关于Python 3.0
Python 3.0是Python语言的新版本,有时还被称为Python 3000或Py3k。
此版本解决了一直以来积累的众多小问题并使Python更加简洁。
如果你拥有众多Python 2.x源码,这里的工具可帮助你将2.x源码转换至3.x源码。