一、核心概念
1.1 Python 的对象模型:一切皆对象,变量即引用
- 变量不直接存储值,而是 指向对象的引用(指针)。
id(x)返回对象的内存地址(CPython 中即PyObject*的地址)。- 赋值操作
b = a只是新增一个引用,不创建新对象。
1.2 可变性(Mutability)
| 类别 | 典型类型 | 特征 |
|---|---|---|
| 不可变对象 | int, float, str, tuple, frozenset, bytes |
一旦创建,内容不可更改;任何“修改”操作均返回新对象 |
| 可变对象 | list, dict, set, bytearray, 自定义类实例(默认) |
可原地修改内容,对象身份(id)不变 |
⚠️ 注意:
tuple虽不可变,但若其元素为可变对象(如([1], 2)),则 tuple 自身不可变,但元素内容可变。