1.1 认识Python
Python是诞生于20世纪末的一门较“新”的、面向对象的解释型编程语言,本节将围绕Python的发展历程和语言特点这两个方面带领大家认识Python。
1.1.1 Python的发展历程
Python语言由荷兰人吉多·范罗苏姆(Guido van Rossum,以下简称“吉多”)于1989年圣诞节期间开始研发。“Python”取自一部英国电视喜剧Monty Python's Flying Circus的剧名,吉多本人非常喜欢该剧,便取了其中的“Python”一词作为新语言的名字。Python一词本身是“蟒蛇”之意,Python的图标即根据此意进行设计。Python的发明者吉多和图标分别如图1-1(a)和图1-1(b)所示。
吉多自1989年年底开始投身于Python语言的设计中,Python的第一个公开版本于1991年发行,此版本使用C语言实现,能调用C语言的库文件。
Python语法很多来自C语言,但又深受ABC语言的影响。自诞生开始,Python已经具有了类(class)、函数(function)、异常处理(exception)、包括列表(list)和字典(dict)在内的核心数据类型,以及以模块为基础的扩展系统。
图1-1 Python的发明者和图标
最初的Python完全由吉多本人研发,当时吉多的同事仅使用Python并反馈意见,后来同事们感受到了Python的魅力,便纷纷参与Python语言的改进工作。Python发行之后亦有越来越多的人被Python吸引,Python的用户量和研发队伍逐步增加与壮大。
2000年10月Python 2.0发布,Python从基于maillist(邮件列表)的开发方式转变为完全开源的开发方式,Python社区已然成熟。2010年,Python 2.x系列发布了最后一个版本,其主版本号为2.7;同时,Python的维护者们宣布不在2.x系列中继续对主版本号升级,Python 2.x系列慢慢退出历史舞台。2018年3月,吉多在maillist上宣布将于2020年1月1日终止对Python 2.7的技术支持。
2008年12月Python 3.0版本发布,3.0版本在语法和解释器内部都做了很多重大改进,解释器内部完全采用面向对象的方式实现。Python 3.0与2.x系列不兼容,使用Python 2.x系列版本编写的库函数必须经过修改才能被Python 3.0系列解释器运行,Python从2.x到3.0的过渡过程显然是艰难的。
2012年Python 3.3版本发布,2014年Python 3.4版本发布,2015年Python 3.5版本发布,2016年Python 3.6版本发布,2018年6月27日Python 3.7.0发布,2019年10月14日Python 3.8.0发布。截至2020年3月1日,Python的最新版本为2020年2月24日发布的Python 3.8.2。
1.1.2 Python语言的特点
黑格尔有句名言“存在即合理”,一件事物能存在必有其合理性,而若该事物同时被大多数人接受与欣赏,那它必定具备许多优点。Python作为一种比较“新”的编程语言,能在C、C++、Java等“元老级”编程语言覆盖的市场夺得一席之地,必有其可取之处。当然任何事物都有两面性,Python自然存在一些不足。本节将简单介绍一下Python语言的优点和缺点。
1. Python的优点
(1)简洁。在实现相同功能时,Python代码的行数往往只有C、C++、Java代码数量的1/5~1/3。
(2)语法优美。Python语言是高级语言,它接近人类语言,只要掌握由英语单词表示的助记符,就能大致读懂Python代码;此外Python通过强制缩进体现语句间的逻辑关系,任何人编写的Python代码都有规范且具有统一风格,这保证了Python代码的可读性。
(3)简单易学。与其他编程语言相比,Python是一门简单易学的编程语言,它使编程人员更注重解决问题而非语言本身的语法和结构。Python语法大多源自C语言,但它摒弃了C语言中复杂的指针,同时秉持“使用最优方案解决问题”的原则,因此Python语法得以简化,降低了学习难度。
(4)开源。开源是吉多认为ABC语言惨败的关键,也是设计Python之初决心实行的要点。Python是FLOSS(Free/Libre and Open Source Software,自由/开源软件)之一,用户可以自由地下载、复制、阅读、修改代码,并能自由发布修改后的代码,这使相当一部分用户热衷于改进、优化Python。
(5)可移植性好。Python作为一种解释型语言,可以在任何安装有Python解释器的平台执行,因此Python具有良好的可移植性,使用Python语言编写的程序可以不加修改地在任何平台中运行。
(6)扩展性好。Python从高层上可引入.py文件,包括Python标准库文件或程序员自行编写的.py形式的文件;在底层可通过接口和库函数调用由其他高级语言(如C、C++、Java等)编写的代码。
(7)类库丰富。Python本身拥有丰富的内置类和函数库,世界各地的程序员通过开源社区又贡献了十几万个几乎覆盖各个应用领域的第三方函数库,使开发人员能够更容易地实现一些复杂的功能。
(8)通用灵活。Python是一门通用编程语言,可被用于Web开发、科学计算、数据处理、游戏开发、人工智能、机器学习等各个领域。
(9)模式多样。Python解释器内部采用面向对象模式实现,但在语法层面,它既支持面向对象编程又支持面向过程编程,用户可灵活选择代码的模式。
(10)良好的中文支持。Python 3.x解释器采用UTF-8编码(该编码不仅支持英文,还支持中文、韩文、法文等各类文字)表示所有字符信息,使Python程序对中文字符的处理更加灵活、简洁。
2. Python的缺点
Python因自身的诸多优点得到广泛应用,但Python仍有进步的空间。目前Python主要有以下缺点。
(1)执行效率不够高,Python程序没有C++、Java编写的程序高效。
(2)Python 3.x和Python 2.x的兼容性不够好。
总而言之,瑕不掩瑜,Python对编程语言初学者而言,简单易学,是接触编程领域的良好选择;对程序开发人员而言,它使用灵活、应用领域广泛、效率能满足大多数场景的需求,是一种强大且全能的优秀语言。