gpt4 book ai didi

python - 是否可以更改 Python 中内置类的 dunder 方法?

转载 作者:行者123 更新时间:2023-12-04 08:19:06 25 4
gpt4 key购买 nike

我是一名 Python 初学者,正在阅读有关 dunder 方法的文章。是否可以通过某种方式更改 intstr 等类的 dunder 方法?

例如,我能否以某种方式更改 int 类的 dunder 方法 __add__ 以执行乘法而不是加法?那么如果我输入 3 + 4,输出是 12?

最佳答案

您可以子类化,但值得指出的是,这可能是一个的想法,因为没有人合理地期望加法执行乘法:

class FunkyInt(int):
def __add__(self, other):
return FunkyInt(self * other)

f = FunkyInt(3)
print(f + 4)
# 12

关于python - 是否可以更改 Python 中内置类的 dunder 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65582036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com