是否可以在Python 3中为内置类重载运算符?具体来说,我想要为request
类重载+
/ +=
(即:__add__
运算符,以便我可以执行诸如{{}之类的操作1}}。
答案 0 :(得分:1)
您无法更改str
的{{1}},但可以定义如何将您的类添加到字符串中。不过我不推荐它。
__add__
在class MyClass(object):
...
def __add__(self, other):
if isinstance(other, str):
return str(self) + other
...
def __radd__(self, other):
if isinstance(other, str):
return other + str(self)
...
中,如果"asdf" + thing
不知道如何处理添加,则Python会尝试"asdf".__add__
。