**本篇文章由我归纳总结而来,为想要了解学习Python的朋友提供参考。大部分内容参考维基百科** ## 简介 **Python**是一种广泛使用的解释型、高级和通用的编程语言。Python支持多种编程范型,包括函数式、指令式、结构化、面向对象和反射式编程。它拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且其本身拥有一个巨大而广泛的标准库。 **Python**是一种易于学习又功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。 ## Python的起源 ### 诞生 由于**吉多·范罗苏姆(Guido van Rossum)**参与设计的ABC语言没有成功,他在1989年的圣诞节决定开发一个新的**解释型语言**作为ABC语言的替代者。在他看来ABC语言的失败的原因是其非开放的,他决心在Python中避免这个错误,后来由于他的开放形成了庞大的Python社区。之所以取名为Python,是因为他非常喜欢BBC电视剧中的蒙提·派森的飞行马戏团(Monty Python's Flying Circus)。 ### 发展 1991年2月第一个Python解释器(标记为版本0.9.0)诞生。这时就已经存在了带继承的类、异常处理、函数和核心数据类型`list`、`dict`、`str`等 1994年1月Python达到了版本1.0。这个发行版主要新特征是包括了函数式编程工具`lambda`、`map`、`filter`和`reduce`。Python 1.4增加了受Modula-3启发的关键字参数和对复数的内建支持,还包含采取名字修饰的一种基本形式[数据隐藏。 2000年10月16日Python 2.0发布。增加了列表推导式,这是从函数式编程语言SETL和Haskell中引入的。它还向垃圾收集系统增加了环检测算法,并且支持Unicode。Python 2.1支持了嵌套作用域,就像其他静态作用域语言一样。Python 2.2的重大革新是将Python的类型(用C写成)和类(用Python写成)统一入一个层级,使得Python的对象模型成为纯粹和一致的面向对象的模型;还增加了迭代器,受CLU和Icon启发的生成器,和描述器协议。Python 2.4加入了集合数据类型,和函数修饰器。Python 2.5加入了`with`语句。 Python 3.0于2008年12月3日发布,它对语言做了较大修订而不能完全后向兼容。Python 3发行包括了`2to3`实用工具,它(至少部分的)自动将Python 2代码转换成Python 3代码。Python 3的很多新特性后来也被移植到旧的Python 2.6/2.7版本中。 Python 2.7的产品寿命结束日期最初设定为2015年,出于对大量的现存代码不能前向移植到Python 3的关切而延期至2020年。随着Python 2的产品寿命结束,只有Python 3.8和后续版本仍被完全支持。 在2020年12月,活跃的Python核心开发者选举Barry Warsaw、Brett Cannon、Carol Willing、Pablo Galindo Salgado和Thomas Wouters为2021年度“掌控委员会”的五位成员来领导这个项目。 ## 解释型语言与编译型语言 ### 区别 高级语言设计的程序必须经过“翻译”成机器语言以后才能被机器执行。“翻译”的方法有两种,一种是解释,一种是编译。两种方式的区别在于“翻译”时间点不同,解释型语言编写的程序不需要编译,程序在运行时才翻译成机器语言,每执 行一次都要翻译一次。编译型语言编写的程序在执行之前需要进行的编译,把程序编译成机器语言的文件,运行时不需要重新“翻译”,直接使用编译的结果就行了。 ### 对比 - **速度**:编译型语言比解释型语言执行速度快 - **跨平台性**:解释型语言比编译型语言跨平台性好 ## 特点 ### 完全面向对象的语言 - **在 Python 中一切皆对象** - 完全支持继承、重载、多重继承 - 支持重载运算符,也支持泛型设计 ### **拥有一个强大的标准库** ​ Python 语言的核心只包含 **数字**、**字符串**、**列表**、**字典**、**文件** 等常见类型和函数,而由 Python 标准库提供了 **系统管理**、**网络通信**、**文本处理**、**数据库接口**、**图形系统**、**XML 处理** 等额外的功能 ### Python 社区 ​ 社区提供了**数量庞大的第三方模块**,使用方式与标准库类似。它们的功能覆盖 **科学计算**、**人工智能**、**机器学习**、**Web 开发**、**数据库接口**、**图形系统** 等多个领域 ## 为什么选择Python Life is short, you need Python。 ## 参考(以下顺序不分先后): [Python维基百科](https://zh.wikipedia.org/wiki/Python) [解释型语言](https://zh.wikipedia.org/wiki/%E7%9B%B4%E8%AD%AF%E8%AA%9E%E8%A8%80) [编译型语言](https://zh.wikipedia.org/wiki/%E7%B7%A8%E8%AD%AF%E8%AA%9E%E8%A8%80)