Skip to main content
☘️ Septvean's Documents
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Python 核心概念

一、一切皆对象(Everything is Object)

核心思想

  • 变量不是“盒子”,而是对象的引用
  • 函数、类、模块、异常,都是对象
def f(): ...
print(type(f))      # <class 'function'>

工程意义

  • 函数可以当参数、返回值
  • 装饰器、回调、函数式编程的根基

二、引用语义 vs 值语义

Python 是什么?

传递的是对象引用(call by object reference)

def f(x):
    x.append(1)

lst = []
f(lst)
print(lst)  # [1]

关键理解

  • 可变对象:list / dict / set
  • 不可变对象:int / str / tuple

三、可变 vs 不可变(Mutability)

类型 是否可变
int / float / str
tuple(元素不可变) ⚠️
list / dict / set
a = 1
b = a
b += 1   # 创建新对象

工程意义

  • 默认参数陷阱
  • 拷贝 / 深拷贝(deepcopy)的必要性

四、动态类型 & 强类型

动态类型

类型在运行时决定

x = 1
x = "hello"

强类型

不自动隐式转换

1 + "1"  # TypeError

五、作用域与命名空间(LEGB)

查找顺序

Local -> Enclosing -> Global -> Builtins

x = 1
def f():
    print(x)

关键点

  • global
  • nonlocal

六、迭代协议 & 惰性计算

迭代协议

iter(obj)
next(it)

惰性对象

  • generator
  • map / filter / zip
  • range
(x * 2 for x in range(10))

工程意义

  • 节省内存
  • 支持大数据流处理

七、异常机制(EAFP)

Python 风格

Easier to Ask Forgiveness than Permission

翻译:相比许可更易请求原谅

try:
    x = d["key"]
except KeyError:
    ...

对比 LBYL(先判断)

  • LBYL:瞻前顾后,先检查再操作。
  • EAFP:先斩后奏,直接做再看后果。

八、函数是一等公民(First-class Function)

能力

  • 赋值
  • 作为参数
  • 作为返回值
def outer():
    def inner(): ...
    return inner

衍生概念

  • 装饰器
  • 闭包
  • 高阶函数

九、面向对象是“组合优于继承”

Python 的 OOP 特点

  • 多继承(MRO)
  • 鸭子类型
if hasattr(obj, "read"):
    ...

设计原则

Favor Composition over Inheritance

翻译:优先选择组合而不是继承

十、Python 数据模型(魔术方法)

__init__
__len__
__iter__
__enter__ / __exit__
__call__

核心理念

行为由协议定义,而不是继承层级

十一、并发模型与 GIL

Python 的并发三路

模型 适用
threading IO 密集
multiprocessing CPU 密集
asyncio 高并发 IO

GIL 本质

  • 保证解释器线程安全
  • 不是 Python 语言层限制

十二、Pythonic 思维(The Zen of Python)

import this

核心准则

  • Readability counts (可读性很重要)
  • Simple > Complex (简单胜过复杂)
  • Explicit > Implicit (显示胜过隐式)

总结

对象模型
 ├── 引用语义
 ├── 可变性
 ├── 数据模型
 │    ├── 迭代
 │    ├── 上下文
 │    └── 魔术方法
 ├── 函数式
 ├── OOP
 ├── 并发模型
 └── Pythonic 思维

学习优先级建议

🔥 必须精通

  • 对象 & 引用
  • 可变 / 不可变
  • 迭代 & 生成器
  • 异常模型
  • 函数 / 装饰器

🚀 进阶

  • 数据模型
  • asyncio
  • 并发架构
  • 类型系统(typing / pydantic)