TypeError: unsupported operand type(s) for /:
对于此代码,我有"typeerror:不支持/:"的操作数类型
1 2 3 4 5 6 7 8 9 | class Foo(object): def __add__(self, other): return print("add") def __div__(self, other): return print("div") Foo() + Foo() add |
**但为了/**
1 2 3 4 5 6 7 | Foo() / Foo() Traceback (most recent call last): File"<ipython-input-104-8efbe0dde481>", line 1, in <module> Foo() / Foo() TypeError: unsupported operand type(s) for /: 'Foo' and 'Foo' |
号
python3使用特殊的除名:
在python3中,
在python2中,
参考:http://www.diveintopython3.net/special method names.html与数字类似
在python3中,您可以使用truediv:
1 2 3 4 5 | class Foo(object): def __add__(self, other): return print("add") def __truediv__(self, other): return print("div") |