python一些概念¶
浅拷贝和深拷贝¶
| 拷贝类型 | 说明 | 示例代码 | 适用场景 |
|---|---|---|---|
| 浅拷贝 | 只复制对象的最外层,内部子对象仍为原始对象的引用 | shallow_copy = copy.copy(original_list) |
- 简单数据结构的复制 - 性能优化 - 保留原始数据结构的引用 |
| 深拷贝 | 递归地复制对象的所有层级,生成完全独立的新对象 | deep_copy = copy.deepcopy(original_list) |
- 复杂数据结构的复制 - 避免原始数据的修改 - 数据独立性要求高 |
魔术方法¶
| 魔术方法 | 作用 |
|---|---|
__new__、__init__、__del__ |
创建和销毁对象相关 |
__add__、__sub__、__mul__、__div__、__floordiv__、__mod__ |
算术运算符相关 |
__eq__、__ne__、__lt__、__gt__、__le__、__ge__ |
关系运算符相关 |
__pos__、__neg__、__invert__ |
一元运算符相关 |
__lshift__、__rshift__、__and__、__or__、__xor__ |
位运算相关 |
__enter__、__exit__ |
上下文管理器协议 |
__iter__、__next__、__reversed__ |
迭代器协议 |
__int__、__long__、__float__、__oct__、__hex__ |
类型/进制转换相关 |
__str__、__repr__、__hash__、__dir__ |
对象表述相关 |
__len__、__getitem__、__setitem__、__contains__、__missing__ |
序列相关 |
__copy__、__deepcopy__ |
对象拷贝相关 |
__call__、__setattr__、__getattr__、__delattr__ |
其他魔术方法 |