Python 语言参考手册中的“Data Model”(https://docs.python.org/3/reference/datamodel.html)一章列出了 83 个特殊方法的名字,其中 47 个用于实现算术运算、位运算和比较操作。
表 1-1 和表 1-2 列出了这些方法的概况。
这些表并没有完全按照官方文档分组。
表1-1:跟运算符无关的特殊方法
类别 |
方法名 |
|---|---|
字符串 / 字节序列表示形式 |
|
数值转换 |
|
集合模拟 |
|
迭代枚举 |
|
可调用模拟 |
|
上下文管理 |
|
实例创建和销毁 |
|
属性管理 |
|
属性描述符 |
|
跟类相关的服务 |
|
表1-2:跟运算符相关的特殊方法
类别 |
方法名和对应的运算符 |
|---|---|
一元运算符 |
|
众多比较运算符 |
|
算术运算符 |
|
反向算术运算符 |
|
增量赋值算术运算符 |
|
位运算符 |
|
反向位运算符 |
|
增量赋值位运算符 |
|
当交换两个操作数的位置时,就会调用反向运算符(
b * a而不是a * b)。增量赋值运算符则是一种把中缀运算符变成赋值运算的捷径(a = a * b就变成了a *= b)。第 13 章会对这两者作出详细解释。