Python C API 扩展与类型定义详解
1. PyNumber 函数
1.1 基本二元函数
以下是一些常见的 PyNumber 二元函数及其 Python 等价操作:
| PyNumber 函数 | Python 等价操作 |
| — | — |
| PyNumber_TrueDivide | x / y (非截断除法) |
| PyNumber_Xor | x ^ y |
所有的二元 PyNumber 函数都有对应的原地操作版本,其名称以 PyNumber_InPlace 开头,例如 PyNumber_InPlaceAdd 。原地操作版本会尝试直接修改第一个参数,如果可能的话,并返回结果的新引用,这个结果可能是修改后的第一个参数,也可能是一个新对象。由于 Python 的内置数字是不可变的,当第一个参数是内置类型的数字时,原地操作版本的行为与普通版本相同。
1.2 特殊函数
-
PyNumber_Divmod:返回一个包含两个元素的元组(商和余数),没有对应的原地操作版本。 -
PyNumber_Power:
PyObject* PyNumber_Power(PyObject* x, PyObject* y, PyObject* z);
当 z 为 Py_None 时,
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



