AI Summary 68.12908.27 Python 简介摘要 2026-09-22
python 实际上是个语言规范,规范定义了 Python 语言应该具备哪些语言要素,应当能完成什么样的任务, Python 语言规范用不同的方式实现, C 实现,用 C++、Java、C#、JavaScript,甚至 Python 自己实现 python 最初由龟哥(Guido van Rossum)用 C 编写的(CPython) python 大获成功之后,其他项目用其他的编程语言或不同的目标去重新编写 python 每个实现都要名字区别于最初的那个 python ,所以是 Pypy、MicroPython、Iron Python、Jython 和 Pyston 等丰富多彩的名字

Python3 简介

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。

  • Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。

  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

  • Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。


Python 发展历史

Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。

Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。

像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。

现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

Python 2.0 于 2000 年 10 月 16 日发布,增加了实现完整的垃圾回收,并且支持 Unicode。

Python 3.0 于 2008 年 12 月 3 日发布,此版不完全兼容之前的 Python 源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。

Python 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。

Python 2.7 被确定为最后一个 Python 2.x 版本,除了支持 Python 2.x 语法外,还支持部分 Python 3.1 语法。



Python 特点

  • 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

  • 2.易于阅读:Python代码定义的更清晰。

  • 3.易于维护:Python的成功在于的源代码是相当容易维护的。

  • 4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

  • 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

  • 6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

  • 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

  • 8.数据库:Python提供所有主要的商业数据库的接口。

  • 9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。

  • 10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。


Python 应用

  • Youtube - 视频社交网站

  • Reddit - 社交分享网站

  • Dropbox - 文件分享服务

  • 豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站

  • 知乎 - 一个问答网站

  • 果壳 - 一个泛科技主题网站

  • Bottle - Python微Web框架

  • EVE - 网络游戏EVE大量使用Python进行开发

  • Blender - 使用Python作为建模工具与GUI语言的开源3D绘图软件

  • Inkscape - 一个开源的SVG矢量图形编辑器。

  • ...


Python 版本进度

下图展示了 Pyhton 的历史版本及未来版本的维护与发布时间:


各种 ‘python’ 介绍

python 指的是 CPython CPython 指的是用 C 编写的 pyhton 实现 CPython 是标准 python 将 Python 源码编译成 CPython 字节码 由虚拟机解释执行这些字节码
CPython 是最常用的 python 实现,大多数开发人员不会使用到 CPython 之外的 python 实现

Pypy 是最著名的 CPython 替代品 用 python 编写的(用 python 编写的 python 实现)
实际上 Pypy 是由 RPython 实现的,RPython 是 Python 的一个子集

Pypy 使用即时编译(JIT)技术 在运行时将 Python 代码动态地编译成机器码 从而提供更高的执行速度
虽然 Pypy 执行速度要比 CPython 快 但启动速度要比 CPython 慢 运行的时间足够长 会变得越来越快 对于长时间运行的进程特别有用,例如守护进程、任务队列和web服务器

缺点
Pypy 与许多使用 C 编写的 Python 拓展库不兼容 虽然 Pypy 提供了一些与 CPython C API 兼容的接口,但并不能保证所有的 C 拓展都能无缝运行

Stackless Python 是一种 Python 的变体 是在 CPython 的基础上进行扩展和改进的版本
与传统的 CPython 相比,Stackless Python 提供了一些额外的特性 其中最重要的是支持协程(coroutine)和微线程(microthreads)
协程是一种轻量级的线程,允许在同一个线程内的多个协程之间进行切换,从而实现并发执行 Stackless Python 的协程实现基于任务切换的概念
可以方便地编写异步、非阻塞的代码,提高程序的并发性和响应性 微线程是 Stackless Python 中的另一个概念
是一种更轻量级的线程单位,可以在一个进程内并发地执行多个微线程 微线程与操作系统线程的切换开销较小,可以更高效地处理大量的并发任务
Stackless Python 并不是 Python 的官方版本 是由 Christian Tismer 和其他贡献者开发和维护的一个项目

Jython(Java Python 的缩写)
由 Java 编写,运行在 Java 虚拟机上( Java Virtual Machine,JVM)允许开发人员使用 Python 语言编写和执行 Java 应用程序
在 Jython 中直接访问 Java 类和方法 提供了对 Java 类和库的无缝集成,使得开发人员可以利用 Java 平台的功能和生态系统
Jython 广泛应用于 Java 开发中 尤其是需要结合 Python 脚本和 Java 代码的场景

IronPython 与 Jython 类似
是 .NET 框架的 python 实现 使用了微软开发的动态语言运行时(DLR)和公共语言运行时(CLR),能够与.NET框架无缝集成
开发人员可以在 .NET 平台上编写和执行 Python 代码,利用 .NET 框架的功能和资源

MicroPython
根据字面意思可以得知—— MicroPython 是一种精简版的 python 实现 只包含了 python 标准库中的一小部分并经过优化
以适应资源受限的环境,专为嵌入式系统和物联网设备而设计
MicroPython具有以下特点:
小巧支持硬件交互 垃圾回收和内存管理 交互式开发 跨平台支持

Python 实际上语言规范,用不同的方式实现
为了能够实现在特定的应用场景中具有不同的优势和用途,开发人员用其他语言设计了不同的 python 实现
CPython 是最常用的 Python 实现 是官方用 C 编写的 python 实现 还有 jython、Pypy、Iron Python、Stackless Python 等