在数据模型部分的官方python文档中,__ipow__
method定义为:
object.__ipow__(self, other[, modulo])
然后,文档解释了调用这些方法来实现增强的算术赋值(**=
的{{1}})
但__ipow__
允许使用**=
参数的语法是什么?
答案 0 :(得分:2)
第三个论点只是与__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__
的别名实现。