Python是一种计算机编程语言以及配套的软件工具和库。Python简单易学,代码十分简洁,它使用强制空白符作为缩进,这大大提高了Python的开发效率,使用Python能够在更短的时间内完成更多的工作。Python是一门开源的语言,并且Python还有许多强大的开源库,这些库使得Python无论是对云计算、大数据、还是人工智能,都有很强的支持能力。
Python是一门解释型语言。它不需要编译就可以执行,代码由Python解释器直接解释运行,因此它的运行机制和C语言是不同的。如图1所示,在Windows系统下执行C语言需要编译成Windows系统的二进制序列,在Linux系统下执行C语言需要编译成Linux系统的二进制序列,在Mac系统下执行C语言需要编译成Mac系统的二进制序列,在其他系统条件下执行C语言需要编译成其他系统的二进制序列。
Python程序运行时是先将源码转换成字节码,然后再由Python解释器来执行这些字节码,所以就跳过了编译这一步,如图2所示。这使Python无需改动就可以在不同的平台上运行,拥有了良好的可移植性。
虽然Python语言与C语言的运行机制不同,但是Python的底层是基于C语言编写的,这将在以后要讲解的Python的变量存储机制上有所体现。
需要注意的是,目前市面上存在的Python版本大体上分为Python 2和Python 3这两个版本,Python 3相比于Python 2是一个较大的升级,并且Python 3是不向下兼容的。本书使用的Python版本为Python 3。
Python具有以下特点
(1)简单易学。
(2)功能强大。Python拥有丰富的开源库,其中有Python自带的库,如OS、SYS、Re等,也有第三方库,如NumPy、Pandas、Requests等。有了这些库的支持使得Python能被广泛地应用于Web开发、科学计算、机器学习(Machine Learning,ML)、人工智能(Artificial Intelligence,AI)、网络爬虫等诸多领域。
(3)面向对象。Python虽然常用来做面向过程编程,但是它也可以很好地用来做面向对象编程。
(4)可移植性。Python的可移植是Python得以强大的原因之一,同一个Python程序几乎无须任何修改就可以在不同的平台中运行。
(5)开发周期短。代码的简洁使得Python能从众多的编程语言中脱颖而出,使用Python开发程序比用其他语言能够缩短可观的开发时间。
虽然Python语言相比于其他语言有很多的优点,但是它也有一些不可避免的缺点,如它的运行速度明显落后于Java语言和C语言。另外,Python语言的缩进也是一个问题,Python的语句块并没有像Java和C那样使用大括号包起来,取而代之的是使用缩进的方法。初学者很容易因为一个空格而寻找许久的bug。最后,Python语言虽然也可以拿来做面向对象编程,但是相比于Java,它还是有一些不足,当要开发一个大型的项目时,最好还是选择使用Java、C 等语言,毕竟Python语言设计的初衷也不是用来开发大型的项目。