如果你经常在电脑上办公,最终你会出现让一些任务自动化的需求。比如,你可能希望对一大堆文本文件执行查找替换任务,或是以一种复杂的规则重命名整理大量的照片。于是,你希望写一个小型的定制数据库,一个专属的可视化程序,或是一个简单的游戏。
如果你是一个专业的软件开发者,你可能已经使用过一些C/C++/Java程序库,觉得编码-编译-测试-重编译这种通用周期速度太慢。也许你正在为一个程序库写一个测试程序,发现写测试代码是一件无比乏味的工作。也许你曾用扩展语言写过一个程序,不想再为这个程序用一种全新的语言重新设计实现。
Python满足你全部想象。
你可以为特定的任务写一个Unix的shell文件或是windows的批处理文件。shell脚本的优势在于移动文件和改变文本内容,在可视化程序或是游戏的表现不佳。C/C++/Java程序光是搭建一个很简单的架构就需要花费大量的时间。Python简单易学,在Windows、Mac OS X和Unix操作系统下都可以运行,它可以帮助你快速完成任务。
Python是虽然很简单,但它是一门真正的编程语言,为大型程序提供的功能比shell文件或批处理文件多得多。另一方面,与C语言相比,Python也提供更多的错误检查。作为一门超赞的高级语言,Python 拥有高级的内置数据类型,包括灵活的数组以及字典。由于它拥有更多通用的数据类型,Python能够解决的问题领域比Awk和Perl都大得多。此外,别的语言中的很多特性在Python语言中也都有更简单易用的实现。
Python可以帮助你将程序分割成多个可以在别的程序中复用的模块。有大量的标准模块可供选用,作为在程序的基础或是开始学习Python编程的例子。一些模块提供文件输入输出,系统调用,网络编程接口,面向如Tk之类的图形用户界面工具包的接口。
Python是解释型语言,免去了编译和链接环节,节省大量程序开发的时间。解释器的交互式使用易于语言特性的尝试认识,易于写出throw-away的程序,易于在自底向上程序开发过程中测试函数。此外这使得Python成为一个便利的桌面计算机。
Python代码紧凑、可读性强。由于以下几个原因,同样的程序用Python编写的代码长度远小于用C/C++/Java编写。
- 高级的数据类型使得一个句子可以表达复杂的操作
- 语句块由缩进定义而不是{}
- 变量和参数不需要定义
另外,Python是以BBC节目“Monty Python's Flying Circus”命名的,与爬行动物巨蟒没什么关系。在程序文档里提及Monty Python短剧的行为值得鼓励。(-_-big fan)
现在你已经对Python足够感兴趣了吧,你可以通过更多细节感受它。学习一门语言最好的方法是使用它,这个教程希望你在阅读的过程中多多使用Python解释器。
下一章将会介绍解释器的机理,包括一些理论上的内容,尝试例子的部分稍后展开。
教程的接下来的部分会通过例子介绍Python语言的机制大量的特性,一开始是一些简单的表达式、语句和数据类型,然后是函数和模块,最后会触及一些高级的概念比如表达式和用户自定义的类。