Python是一种被广泛使用的通用高级计算机编程语言,支持程序员创建应用程序、网页以及许多其他类型的软件。

Python通常被视为脚本语言,尽管实际上官方网站称其是编程语言。事实上, Python的处境比较折中。Python既可以用作脚本语言,也可以用作编程语言。

1脚本和程序之间的区别

从技术角度讲,脚本是被解释的而程序是被编译的,但这其实不是它们之间的主要区别,它们之间存在另一个很小但很重要的区别!

用脚本语言[如Javascript或VBA ( Visual Basic for Applications ) ]编写的脚本主要用于控制另一个应用程序。因此,可以说, JavaScript在某些方面控制着Web浏览器, VBA控制着Microsoft®Office应用程序,如MS Word或MS Excel.

此外,用程序语言(如C++或C#)编写的程序,是独立于任何其他应用程序而执行的。程序被编译成一组单独的机器语言指令,可以根据用户需要随时独立执行。

提示: Microsoft Office的宏是用VBA编写的脚本,作用是在Microsoft Office中自动执行某些功能。请记住!脚本需要宿主应用程序才能执行,不能单独执行!

2为什么要学Python

Python是一种众所周知的"高级"计算机语言。它非常灵活,而且功能强大,适用于开发中等规模的应用程序或动态Web网页。它是教授编程的完美语言,尤其适合于入门阶段的教学。它还被广泛用于科学和数值计算领域。 Python的编码风格非常易于理解且效率很高。

Python有一项功能是能够与计算机的文件系统进行交互。Python可以创建文件、写入文件或从文件中读取内容,还可以创建目录(文件夹)、复制文件、删除文件、为文件重命名甚至更改文件属性。Python几乎可以执行与文件系统相关的任何任务,使其甚至适用于系统管理任务。例如,可以编写一个Python程序来备份文件,或者编写一个程序,通过重新格式化其内容来处理文本文件。

此外, Python可以执行系统命令或系统上安装的任何其他程序。因此,用C,C++、Java或任何其他计算机语言编写和编译的程序可以使用Python执行,并且Python可以使用它们的输出结果。这让我们在无须花时间重写旧程序的情况下,为Python程序添加功能。

有数百万甚至数十亿行代码已经用Python编写,因此复用代码的可能性是巨大的!这就是为什么许多人更喜欢Python而不是其他编程语言。这也是你为何需要学习Python的一个很好的理由!

3 Python是如何工作的

计算机不懂英语或希腊语等自然语言,因此我们需要用Python等计算机语言与它们进行交流。Python是种非常强大的高级计算机语言。 Python解释器(实际上是编译器和解释器的组合)将Python语言转换为计算机实际可以理解的语言,即“机器语言"。

过去,计算机语言使用解释器或编译器两者中的一个。然而,如今许多计算机语言(包括Python )既使用编译器,也使用解释器。Python编译器将Python语句转换为字节码语句并将其保存在.pyc文件中,然后pyc文件由适当的解释器执行。解释器通常被称为"Python虚拟机" ( Python VM ) ,其任务是将字节码转换为低级机器语言代码,以便在硬件上直接执行。

提示: Python字节码是由Python虚拟机执行的机器语言。

从图2-1中,你可以看到如何将用Python编写的语句编译为字节码,以及如何使用解释器执行字节码。


图2-1使用Python虚拟机执行Python语句

现在会自然而然地冒出一些问题:为什么执行过程那么麻烦?为什么Python语句被翻译两次?为何不将Python语句直接翻译成低级机器语言代码?答案在于这一切都与效率有关。如今,很少有解释器直接逐行解释代码。几乎所有解释器现在都使用某种中间表示法,原因有如下两个。

(1)可以对中间代码(字节码)进行小的优化。

(2)如果存在与你调用的.py文件同名的.pyc文件,那么Python会自动执行它。这意味着如果存在一个pyc文件,并且你还没有对源代码进行任何更改, Python可以不必重新编译源代码,从而节省一些时间。