Python 简介与发展历史

学习一门编程语言,很多人上来就打开教程写 print("Hello World")。但如果你连这门语言从哪里来、为什么长成今天这个样子都不清楚,那么当你后面遇到「为什么 Python 的除法要用两个斜杠?」「为什么缩进就能表示代码块?」这类问题时,就只能死记硬背。作为整个 Python 学习路线的第一篇,本文不会写任何一行 Python 代码,而是带你回到 1989 年的圣诞节,看看 Python 是怎么一步步长成今天全世界最流行的编程语言之一的。搞清楚它的血统与设计哲学,后面 49 篇教程你才能真正读进去。

一、Python 是什么

Python 是一门解释型、面向对象、动态类型、跨平台、通用的高级编程语言。这一串定语初学者不必立刻理解,但可以先建立以下印象:

  • 解释型:不像 C/C++ 那样需要「编译成 exe 再运行」,Python 代码写完可以直接运行,边翻译边执行,非常方便调试;
  • 动态类型:不需要提前声明变量类型,x = 1 之后再写 x = "hello" 也不会报错;
  • 面向对象:一切皆对象,包括整数、字符串、函数、甚至类本身;
  • 胶水语言:擅长把 C/C++/Rust 写的高性能库粘起来使用,这让它在科学计算和 AI 领域独占鳌头;
  • 通用:从爬虫、Web、数据分析、机器学习、自动化运维、量化交易到嵌入式脚本,几乎无所不在。

一句话总结:Python 是一门让你”少写代码就能干成大事”的语言

二、诞生:圣诞节的礼物

1989 年 12 月,荷兰程序员 Guido van Rossum(吉多·范罗苏姆)在阿姆斯特丹的 CWI 研究所度过了一个无聊的圣诞节。当时他正在参与一门叫 ABC 的教学语言的开发,ABC 有很多优秀的想法(比如强制缩进、内建高级数据类型),但商业上失败了。Guido 决定利用假期时间写一个”ABC 的继承者”,目标是:

  1. 简单易学,能取代 shell 脚本;
  2. 保留 ABC 的优点,同时可以调用 C 的库;
  3. 语法优雅,读起来像伪代码。

至于名字,Guido 是英国喜剧团体 Monty Python 的粉丝,就把这门语言命名为 Python(蟒蛇)。所以官方 Logo 里的两条蛇其实是”表面梗”,语言名真正的出处是喜剧节目《Monty Python’s Flying Circus》。这也解释了为什么很多 Python 教材(包括官方文档)里冷不丁就冒出一个 spam、eggs、Brian —— 这些都是 Monty Python 里的经典梗。

1991 年 2 月,Python 0.9.0 发布,Python 正式与世界见面。

三、三个大版本:从 1.x 到 3.x

Python 的历史可以清晰地分成三段:

1. Python 1.x(1994 – 2000)

  • 1994 年 1 月发布 1.0;
  • 引入了 lambda、map、filter、reduce 这些函数式特性;
  • 引入了模块系统。

此时的 Python 还只是一门小众脚本语言,用户主要集中在系统管理员和科研圈。

2. Python 2.x(2000 – 2020)

  • 2000 年 10 月发布 2.0,最有价值的变化是引入了垃圾回收Unicode 支持
  • 2.7 是 2.x 系列的最后一个版本,2010 年发布,2020 年 1 月 1 日正式停止维护(End of Life);
  • Python 2 时代出现了 Django、NumPy、SciPy、Matplotlib 等奠定 Python 生态的关键项目。

如果你今天在网上找教程,请一定要留意版本。凡是 print "hello"(没有括号)、raw_input()xrange 的代码,都是 Python 2 的代码,学了会走弯路。

3. Python 3.x(2008 – 至今)

Python 3.0 于 2008 年 12 月发布,最大的特点是故意不向下兼容。Guido 决定借这次大版本升级修掉一些历史遗留问题:

  • print 从语句变成函数:print("hi")
  • 所有字符串默认是 Unicode,字节串单独用 bytes
  • 整数除法 / 结果为浮点数,整除单独用 //
  • range 返回惰性对象而不是列表;
  • 移除了大量重复 API。

这次断裂式升级导致 Python 2 → 3 的迁移拖了整整十年。今天 3.x 已经迭代到 3.13,本教程默认使用 Python 3.10 及以上版本,这个版本引入了结构化 match 语句,同时性能也开始持续优化。

四、Python 之禅:读懂设计哲学

打开任意 Python 解释器输入 import this,会看到一段 Tim Peters 写的《Python 之禅》:

1
2
3
4
5
6
7
8
9
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
...
There should be one-- and preferably only one --obvious way to do it.

这不是随便写着玩的鸡汤,而是贯穿整个 Python 语言设计的价值观。理解它可以帮你解答很多”为什么”:

  • 为什么 Python 用缩进而不用大括号?—— 可读性优先
  • 为什么 Python 不支持”多种奇技淫巧写同一件事”?—— 应当有一种(最好只有一种)显而易见的做法
  • 为什么显式的 self 参数会被保留?—— 显式优于隐式

在后面的教程里,如果你觉得某种语法”啰嗦”,不妨回头再读一遍这段禅。

五、Python 的优缺点

任何语言都不是银弹,Python 也一样。

优点

  1. 语法接近自然语言,学习曲线平缓,是公认最适合作为第一门编程语言;
  2. 标准库+第三方库极其丰富,PyPI 上有超过 50 万个包,”人生苦短,我用 Python”;
  3. 胶水能力强,可以调用 C/C++/Rust/Fortran 写的模块,把 NumPy、PyTorch 这种性能怪兽当积木用;
  4. 社区庞大,遇到问题几乎都能在 Stack Overflow 找到答案;
  5. 跨平台,Windows/macOS/Linux 无缝切换。

缺点

  1. 性能相对较低:解释型 + GIL(全局解释器锁)让 CPU 密集型任务的多线程无法真正并行;不过通过 NumPy、Cython、多进程、asyncio 等手段可以绕开;
  2. 移动端支持弱:写 App 一般不会选 Python;
  3. 强依赖第三方:想做深度学习你得装 PyTorch,想做爬虫你得装 requests,”自己什么都能做”的印象背后是海量的依赖管理工作;
  4. 版本 / 环境管理复杂:这是新手第一大痛点,本教程会在 pip 与虚拟环境 venv 一篇单独讲解。

六、Python 在 2025 年的位置

根据 TIOBE 和 IEEE Spectrum 的排行榜,Python 已经连续多年稳居编程语言排行榜第一。它的主要应用领域包括:

  • 数据科学与 AI:Pandas、NumPy、Scikit-learn、PyTorch、TensorFlow;
  • Web 开发:Django、Flask、FastAPI;
  • 爬虫与自动化:requests、Scrapy、Selenium、Playwright;
  • DevOps:Ansible、Fabric、各种运维脚本;
  • 量化金融:backtrader、vnpy、AKShare;
  • 教育:从中学 STEAM 到大学计算机导论,Python 都是首选教学语言。

对新人来说,”学 Python 能干什么”的答案是:除了写操作系统内核和游戏引擎这种极致性能场景,几乎任何领域你都能用 Python 参与

七、如何用好本系列教程

本系列共 50 篇文章,围绕以下路线设计:

  1. 基础入门(1-10):语法、变量、条件、循环,能写出简单脚本;
  2. 数据结构(11-18):列表、字典、集合、推导式,是 Python 的”骨架”;
  3. 函数与模块(19-25):函数、闭包、装饰器入门、模块化开发;
  4. 面向对象(26-31):类、继承、魔术方法;
  5. 异常与文件(32-35):错误处理与 I/O;
  6. 中级进阶(36-45):迭代器、生成器、装饰器进阶、正则、标准库;
  7. 实用工具与并发(46-50):requests、多线程、多进程、asyncio、type hints。

学习建议:

  • 不要跳读:Python 里很多语法互相咬合,第 27 篇的 self 会用到第 20 篇讲的参数机制;
  • 一定动手敲:光看不敲,等于没学。每篇文章的代码都可以在自己电脑上运行;
  • 遇到不会不要立即搜答案:先自己想 3 分钟,实在不行再看解释;
  • 给自己布置小项目:学完基础后写一个”猜数字”,学完函数后写一个”待办事项管理”,学完 OOP 后写一个”简易图书管理系统”。

八、常见误区

初学者对 Python 常见有三大误解:

  1. “Python 简单,学个语法就够了。” —— 错。语法只是入场券,工程能力(模块化、异常处理、测试、性能优化)才是分水岭。
  2. “Python 只能做爬虫。” —— 错。爬虫只是最”网红”的方向,Python 在 AI、Web、运维中的地位远超爬虫。
  3. “Python 慢,所以不适合正经项目。” —— 半错。业务逻辑层的性能,Python 完全够用;性能瓶颈通常出在 IO 或算法,用 C 扩展或异步就能解决。Instagram、YouTube、Dropbox 都是 Python 大规模生产的典范。

九、小结与延伸阅读

  • Python 由 Guido van Rossum 于 1989 年发起,1991 年发布;
  • 名字来源于英国喜剧 Monty Python,不是”蟒蛇”;
  • 目前主流版本是 Python 3.x,Python 2 已于 2020 年 EOL;
  • Python 设计哲学强调优雅、显式、可读,写代码要”符合 Python 风格”(Pythonic);
  • 应用极广,是 2025 年最流行的编程语言之一;
  • 学习本系列请按顺序、动手敲代码、结合小项目。

延伸阅读:

下一篇:环境搭建:安装 Python 与配置 IDE。我们要动手安装 Python,把它请到你的电脑上来。