Python 入门第一站:一段历史看懂语言基因,一张特性地图定位每个知识点在体系中的位置——细节交给深讲篇,本文只负责建立整体感。
历史
1989 年圣诞,Guido van Rossum 为打发假期开始写一门「介于 C 与 shell 之间」的解释型语言,1991 年发布首个版本。命名取自 Monty Python 喜剧团,与蟒蛇无关。
语言基因自此确定:可读性优先。随后的关键节点——2000 年 Python 2.0 引入列表推导与垃圾回收;2008 年 Python 3.0 断代重构(str 默认 Unicode、print 变函数,详见 Unicode字符集和UTF-8编码方案);2020 年 2.7 停维,3.x 一统;近年 3.10+ 的 match 语句 与 类型注解 typing 持续补强表达力。import this 的 Python 之禅把这一切总结成一句:There should be one— and preferably only one —obvious way to do it.
语言定位
- 解释型:CPython 将源码编译为字节码再由虚拟机执行,无独立编译步骤, REPL 交互即写即跑
- 动态强类型:类型绑定在对象上而非变量,运行时检查,
1 + "a"直接报错——区别于 JavaScript 的弱类型隐式转换 - 一切皆对象:数字、函数、类本身都是对象,类型也是对象,这条主线贯穿 数据模型与内建序列 与 Python 关键字 object
- 鸭子类型:不查出身查行为,
len()/for等协议由 特殊方法 约定,结构性子类型见 协议与抽象基类 - 缩进即语法:没有花括号,强制统一的代码块层级
核心特性地图
| 领域 | 关键词 | 深讲篇 |
|---|---|---|
| 数据结构 | 序列家族、哈希表 | 数据模型与内建序列 · dict 与 set |
| 名字与对象 | 绑定、可变性、拷贝 | 引用与可变性 |
| 函数 | 作用域、闭包、装饰器 | 闭包与作用域 LEGB · Python装饰器 |
| 惰性求值 | 迭代器、生成器 | 迭代器协议 · 生成器 |
| OOP | 属性、继承、元编程 | 类属性与实例属性 · 继承与 MRO · 元类 metaclass |
| 异常 | EAFP、异常链 | 异常处理 |
| 模块 | import、包、__main__ | Python import 机制 |
| 并发 | GIL、线程、协程 | GIL 全局解释器锁 · threading 多线程 · asyncio |
上手路线
- 装环境:uv 一条命令搞定解释器与包管理
- 过语法:本文建立整体感后,体系内各深讲篇按需查阅
- 建体系:从 Python MOC 出发,语言核心 → 并发 → 标准库 → 第三方库 → 环境打包逐层推进
- 读缘起:为何维护这套知识体系,见 缘起——最好的中文Python教程
相关
- Python MOC — 全目录地图