假如你的工作长期、频繁地使用电脑,那么你终究会发现有的工作能自动完成该有多好啊。比如,在大量的text文件中执行“查找替换”的操作,针对一堆照片进行相对复杂的重命名和排序。又或者写一个小型数据库、或一个专业的GUI程序,或者一个简单的游戏。
也许你是一个专业的软件开发者,可能工作中会用到诸如C/C++/Java等等开发库,但是你会发现“编写、编译、测试、重新编译”这样的循环太繁琐。或许你想制作一个合适的测试,但是写测试代码实在枯燥无味。也许你已经完成了一个可扩展语言的工具,但是你并不想为了某个全新的语言而重新设计和实现。
Python就是为你准备的。
你可以写一段Unix脚本或者Windows的batch文件来完成上述工作。实际上脚本更适合移动文件、修改文本数据,并不太适合写GUI程序或者游戏,当然我们可以使用"C/C++/Java“程序来弥补这个问题,但是这要花费大量的开发时间,而仅仅获得一个雏形。Python是一个易于使用、跨平台、而且能帮你更快完成工作的语言。
Python用起来很简单,但是它的确是一门比脚本或batch文件拥有更丰富的结构,能对大型程序提供更好支持的语言。另一方面,Python比C语言提供更多的错误检查机制,也因此它是一门“非常”高级语言。它内置了高级的数据类型,比如灵活的数组和dictionaries。得益于Python更通用的数据类型,它能够适用于比Awk,甚至是Perl更大的问题领域。与此同时,Python的其他方面跟其他语言一样简便。
Python允许你将某个程序切割成多个modules,这些modules可以被其他的Python项目复用。Python实际上也就是一个超大的标准module集合,你可以直接使用他们作为你程序的基础 - 或者当作初学Python编程的案例。其中一些模块提供类似文件I/O功能、调用系统功能、sockets功能,甚至能提供图形界面接口,就像Tk一样。
Python是一种解释型(interpreted)语言,在开发阶段可以节省大量时间,因为其不需要编译或是链接。解释器(interpreter)的使用可以是交互式的,这能够让我们很轻松地验证某些语言上地特性。比如编写“一次性”的程序,或者是编写针对从头开始开发的程序的测试类。Python也是一个很使用地桌面计算器。
Python程序更小更易读。同样地一段逻辑,Python通常能比C,C++,Java更简短,有如下几个原因:
*高级的数据类型可以让单行代码表达出更复杂的逻辑。
*代码段落由缩进符标明,而不是使用首尾的括号。
*不需要声明变量或参数。
Python是可扩展语言:如果你知道如何使用C语言编程,那么就能很容易地向解释器添加一个新地内置方法或modules。这添加地过程要么是以最快速度执行关键操作,要么是链接一个Python的(binary)库。你可以将Python的解释器连接到某个C语言编写的项目中,可以把它当作一个扩展,或者是命令语言来执行。
下一章节将会讲解使用解释器的原理和方法。这将会是一些基础信息,为将来学习后面的案例打下坚实的基础。
在接下来的教程中,我们将会通过讲解案例来学习Python语言和系统。首先是简单的讲解,语句和数据类型;然后是方法(functions)和模块(modules);最后我们还会接触更高级的概念,比如异常(exceptions)和自定义类(user-defined classes)。