是否有反射增强赋值的神奇方法?
Is there any magic method for reflected augmented assignment?
我有两个用户定义的类、a
和b
。对于它们之间的这样一个增广加法赋值:
a += b
其中 a
returns NotImplemented
遇到 b
时,是否期望 Python 会在另一个操作数中寻找反映的增广赋值, 即 b
?
(根据评论编辑)
我注意到在其他一些魔术方法中已经存在稍微相似的概念,例如 __format__(self, other)
:
"A string {var:fmt_str}".format(var=b) === b.__format__("fmt_str")
没有。没有反射的增强分配挂钩。如果 __iadd__
失败,则此操作回退到 __add__
和 __radd__
.
您可以检查 data model docs 中的数字运算符挂钩的大列表,以验证那里没有任何反射的扩充赋值挂钩。
我有两个用户定义的类、a
和b
。对于它们之间的这样一个增广加法赋值:
a += b
其中 a
returns NotImplemented
遇到 b
时,是否期望 Python 会在另一个操作数中寻找反映的增广赋值, 即 b
?
(根据评论编辑)
我注意到在其他一些魔术方法中已经存在稍微相似的概念,例如 __format__(self, other)
:
"A string {var:fmt_str}".format(var=b) === b.__format__("fmt_str")
没有。没有反射的增强分配挂钩。如果 __iadd__
失败,则此操作回退到 __add__
和 __radd__
.
您可以检查 data model docs 中的数字运算符挂钩的大列表,以验证那里没有任何反射的扩充赋值挂钩。