Python的特殊方法和调用
介绍Python的特殊方法
Python 的“特殊方法”(也叫魔术方法、magic methods、dunder methods)是 以双下划线开头和结尾 的方法族,例如
__init__, __len__, __add__, __getitem__, __iter__……
它们不是给程序员直接调用的,而是由 解释器在执行特定语法或内置函数时自动触发。
换句话说:特殊方法定义了对象在 Python 世界里的“协议”和“行为”。
一、常见特殊方法分类速览
| 类别 | 方法 | 触发场景 | 典型用途 |
| 构造/销毁 | __new__, __init__, __del__ | 创建、初始化、回收 | 资源初始化、单例、缓存 |
| 字符串/表示 | __repr__, __str__, __format__, __bytes__ | repr(obj), print(obj), f'{obj}', bytes(obj) | 调试、可读输出、序列化 |
| 比较 | __lt__, __le__, __eq__, __ne__, __gt__, __ge__ | <, <=, ==, !=, >, >= | 排序、去重、范围查询 |
| 数值/位运算 | __add__, __sub__, __mul__, __truediv__, __floordiv__, __mod__, _ |
