1.1 任务1 了解Python语言和版本
Python语言的名字来自于一个著名的电视剧“Monty Python's Flying Circus”,Python之父Guido van Rossum是这部电视剧的狂热爱好者,所以把他设计的语言命名为Python。
Python是一门跨平台、开源、免费的解释型高级动态编程语言,是一种通用编程语言。除了可以解释执行之外,Python还支持将源代码伪编译为字节码来优化程序,提高加载速度,并对源代码进行一定程度的保密,也支持使用py2exe、pyinstaller、cx_Freeze或其他类似工具将Python程序及其所有依赖库打包成为各种平台上的可执行文件;Python支持命令式编程和函数式编程两种方式,完全支持面向对象程序设计,语法简洁清晰,功能强大且易学易用,最重要的是拥有大量的几乎支持所有领域应用开发的成熟扩展库。
Python语言拥有强大的“胶水”功能,可以把多种不同语言编写的程序融合到一起实现无缝拼接,更好地发挥不同语言和工具的优势,满足不同应用领域的需求。Python诞生以来,不到30年的时间里,已经渗透到统计分析、移动终端开发、科学计算可视化、系统安全、逆向工程与软件分析、图形图像处理、人工智能、机器学习、游戏设计与策划、网站开发、数据爬取与大数据处理、密码学、系统运维、音乐编程、影视特效制作、计算机辅助教育、医药辅助设计、天文信息处理、化学与生物信息处理、神经科学与心理学、自然语言处理、电子电路设计、电子取证、树莓派(Raspberry Pi,为学习计算机编程教育而设计,只有信用卡大小的微型计算机)开发等几乎所有专业和领域,在黑客领域更是多年来一直拥有霸主地位。
Python官方网站同时发行和维护着Python 2.x和Python 3.x两个不同系列的版本,并且版本更新速度非常快。目前常用的版本分别是Python 2.7.6、Python 3.4.10、Python 3.7.4、Python 3.5.7和Python 3.6.9。另外,本书定稿时Python 3.8.0已经推出beta2测试版本,预计很快会发布正式版本。Python 2.x和Python 3.x这两个系列的版本之间很多用法是不兼容的,除了基本输入/输出方式有所不同,很多内置函数和标准库对象的用法也有非常大的区别,适用于Python 2.x和Python 3.x的扩展库之间更是差别巨大,这也是旧系统进行版本迁移时最大的障碍。
Python 3.x的设计理念更加合理、高效和人性化,代码开发和运行效率更高,2015年年底开始Python 3.x就已经呈现出全面普及和应用的趋势,越来越多的扩展库也以非常快的速度推出了与最新Python版本相适应的版本。另外,Python官方早在2016年就已经宣布,最迟到2020年1月1日将会全面放弃Python 2.x的维护和更新。所以,如正在使用2.x系列,那么最好尽快转换成3.x并且选择较高的版本。如果刚刚开始接触Python,那么一定要毫不犹豫地选择最新的3.x版本。