2022年 11月 5日

Python起源与发展

Python起源与发展

1.Python语言的起源**
Python的创始人为吉多范罗苏姆(Gudio van Rossum)在这里插入图片描述
1).1989年的圣诞节期间,吉多
范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为ABC语言的一种继承。
2)…ABC是由吉多参加设计的一种教学语言,就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,
究其原因,吉多认为是非开发造成的。吉多决心在Python中避免这一错误,并获取了非常好的效果。
3).之所以选中Python(蟒蛇)作为程序的名字,是因为他是BBC电视剧–蒙提*派森的飞行马戏团(Monty Python’s Flying Circus)的爱好者。
4).1991年,第一个Python解释器诞生,它是用C语言实现的,并能够调用C语言的库文件。

2.Python语言的发展
Python从诞生一直更新到现在,经历了多个版本。截止到目前,官网仍然保留的版本主要是基于Python2.x和Python3.x系列,具体如表所示
在这里插入图片描述
3.Python语言的发展
Python2.7是Python 2.x系列的最后一个版本,已经停止开发,计划在2020年终止支持。Guido决定清理Python2.x系列,并将所有最新标准库的更新改进体现在Python 3.x系列中。Python3.x系列的一个最大改变就是使用UTF-8作为默认编码,从此,Python3.x系列中就可以直接编写中文程序了。
另外,Python3.x系列比Python2.x系列更规范统一,其中去掉了某些不必要的关键字与语句。由于Python3.x系列支持的库越来越多,开源项目支持Python3.x的比例已大大提高。鉴于以上理由,本书推荐读者直接学习Python3.x系列。

4.Python语言的特征
1). 简单
Python是一种代表简单主义思想的语言,阅读一段Python程序就像在阅读一篇文章,这使开发者能够专注于解决问题而不是去搞明白语言本身。
2). 易学
Python有极其简单的语法,如果开发同样的功能,使用其他语言可能需要上百行代码,而Python只需几十行代码就可以轻松搞定。
3). 免费、开源
Python是FLOSS(自由/开放源码软件)之一,使用者可以自由地发布这个软件的拷贝、阅读它的源代码并对它进行修改,这也是Python如此优秀的原因之一。
4). 可移植性
由于其开源本质,Python已经被移植在许多平台上,例如Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE等。
5). 解释性
C/C++语言在执行时需要经过编译,生成机器码后才能执行。Python是直接由解释器执行。由于不再需要担心如何编译程序、如何确保连接转载正确的库等,所有这一切使得Python的使用更加简单。
6). 面向对象
Python从设计之初就已经是一门面向对象的语言。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。
7). 可扩展性
假如用户需要一段关键代码运行得更快或者希望某些算法不公开,可以把部分程序用C或C++语言编写,然后在Python程序中使用它们。
8). 可嵌入性
用户可以把Python嵌入到C/C++程序,从而向程序提供脚本功能。
9). 丰富的库
Python提供丰富的标准库,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI、Tk以及其他与系统相关的库5.Python语言的应用领域
5.Python语言的应用领域
1). Web开发
Python语言支持Web网站开发,比较流行的开发框架有Flask、Django等。许多大型网站就是用Python开发的,例如YouTube、Google、金山在线、豆瓣等。
2). 网络爬虫
Python语言提供了大量网络模块用于对网页内容进行读取和处理,如urllib、cookielib、httplib、scrapy等。同时,这些模块结合多线程编程以及其他有关模块可以快速开发网页爬虫之类的应用程序。
3). 科学计算与数据可视化
Python语言提供了大量模块用于科学计算与数据可视化,如NumPy、SciPy、SymPy、Matplotlib、Traits、TraitsUI、Chaco、TVTK、Mayavi、VPython、OpenCV等,这些模块涉及的应用领域包括数值计算、符号计算、二维图表、三维数据可视化、三维动画演示、图像处理以及界面设计等。
此外,Python语言在系统编程、GUI编程、数据库应用、游戏、图像处理、人工智能等领域被广泛应用。