由于Python的开源本质及解释执行的特点,Python源代码可以在任何装有Python解 释器的平台上执行,Python已经可以被移植到许多平台上。如果避免使用依赖于系统的特 性,那么所有的Python程序无须修改就可以在Linux、Windows、FreeBSD、Macintosh、 Solaris、OS/2、Amiga、AROS等平台上运行。
Python可以整合C、C++和Java等语言的代码,可以通过接口和函数库将其他语言的 代码整合在一起,所以Python语言也被称为“胶水语言”。
Python既支持面向过程的编程,也支持面向对象的编程。在面向过程的编程中,程序 是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的编程中,程序是由数据和 功能组合而成的对象构建起来的。与其他语言(如C++和Java语言)相比,Python以一种 非常强大又简单的方式实现面向对象的编程。
Python的库是具有相关功能模块的集合,其中,模块是实现各种功能的函数、类和可执 行代码等内容的集合。Python的库分为标准库和第三方库。Python的标准库是自带的, 功能齐全,可以用于处理各种常用的工作,包括正则表达式、文档生成、单元测试、线程、数据 库、网页浏览器、电子邮件、XML、HTML和其他与系统有关的操作等。Python的第三方库 更丰富,包括Scrapy(网络爬虫库)、Django(Web应用框架)、wxPython(图形用户界面图形 库)、Matplotlib(数据可视化库)、Pygame(游戏开发库)、OpenCV(计算机视觉库)、Sklearn (机器学习库)等。开发者可以直接下载、安装和使用Python的第三方库,缩短开发周期, 提高开发效率。
Python采用强制缩进的方式来区分代码块,在编写代码时,如果没有进行规范的缩进 会导致程序因产生错误而无法运行。清晰的程序结构能较好地体现代码的逻辑层次,使代 码具有更好的可读性。
3.Python的应用领域
Python提供了很多 Web开发框架,可供程序员方便、快速地搭建网站,典型的Python 语言的Web框架有Django、Web2Py、Flask等。很多大型网站是用Python开发的,如国外 的YouTube视频网站、在线云存储网站Dropbox、Instagram社交平台官网等,国内的豆瓣、 知乎等。
Python的第三方库给科学计算带来了极大的便利。例如,NumPy库使Python支持多 维数组和矩阵运算,Pandas库可以进行数据清洗与分析处理,常用于金融和统计领域的数据分析处理,SciPy库可以进行最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、 信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算,Matplotlib库可以 绘制丰富的可视化图表等。 在人工智能领域,Python是非常受欢迎的语言之一。Python的Sklearn库集成了大量 机器学习的算法,如支持向量机、朴素贝叶斯、决策树等,并且内置数据集用于模型训练。 NLTK库用于自然语言处理,可以进行词性标注、词形还原等操作。另外,TensorFlow、 Caffe等深度学习框架也是基于Python开发的。
Python可以编写网络爬虫程序有针对性地爬取网络数据。例如,基于Python的网络 爬虫框架Scrapy,用户只需编写少量代码即可实现网页文字和图片等内容的爬取。另外, BeautifulSoup、Crawley等框架也可以进行网络爬虫程序开发。
使用Python编写自动化脚本,可以实现运维工作自动化,把运维人员从服务器的管理 中解放出来,让运维工作变得简单、快速、准确。
云计算的发展使可弹性扩展的计算机资源成为一种非常方便的、安全可靠的技术产品, 而Python是从事云计算工作需要掌握的一种编程语言。流行的云计算框架OpenStack是 由Python开发的,如果想要深入学习云计算并进行二次开发,就需要具备Python程序设计的技能。
4.Python不同版本的区别
目前,Python的最新版本为Python3.x(x代表Python第3代版本中不同的子版本, 如1、2、3等),相较于Python2.x的早期版本,Python3.x版本具有较大的升级(后面分别 用Python3和Python2表示Python3.x和Python2.x)。目前,Python2版本的应用还 未完全被Python3取代,而Python3版本在设计时未考虑向前兼容,所以对于学习者来 说,了解两个版本之间的主要差异至关重要,下面详细介绍两个版本间的主要差异。
(1)Python3中的输入为input()函数,删除了Python2中的raw_input()函数; Python3中的输出是print()函数,替换了Python2中的print语句。
(2)Python3中默认使用 UTF-8编码,可以很好地支持中文和其他非英文字符的 处理。
(3)Python3在进行除法运算时,无论除数和被除数是整数还是浮点数,结果都是浮点 数。避免了Python2在进行除法运算时还需要检查除数和被除数的数据类型。
(4)Python3中引入了as关键字,捕获异常的语法由exceptErrorName,var变更为 exceptErrorNameasvar。
(5)Python3中的range()函数代替了Python2中的xrange()函数,用来生成数字 序列。
(6)在Python3中,表示八进制数要以0o开头,如0o1000。
(7)Python3中的不等于号去掉了写法,只有!=一种写法,与C语言等其他编程语 言保持一致,语法更加简洁。
(8)Python3取消了exec语句,只保留了exec()函数,用来执行存储在字符串或文件 中的Python代码。
(9)Python3去除了long类型,只有一种整型———int类型,它的作用与Python2中的 long类型类似。