在数据模型部分的官方
python文档中,
__ipow__
method定义为:
object.__ipow__(self, other[, modulo])
然后,文档解释说调用这些方法来实现增强的算术赋值(** = for __ipow__)
但是** =允许使用modulo参数的语法是什么?
最佳答案 第三个参数只是为了与__pow__对称.
该参数包含在原始的‘add in-place operator equivalents’ commit中,但除了直接调用__ipow__方法之外,不支持从Python代码中使用它.
例如,INPLACE_POWER操作码处理passes in None
作为第三个参数:
case INPLACE_POWER:
w = POP();
v = TOP();
x = PyNumber_InPlacePower(v, w, Py_None);
Py_DECREF(v);
Py_DECREF(w);
SET_TOP(x);
if (x != NULL) continue;
break;
最有可能的是,即使从C代码中实现__ipow__作为__pow__ trivial的别名也是如此.