【发布时间】:2019-04-28 16:55:34
【问题描述】:
我在比较运算符的正确重载方面遇到了一点问题。我正在尝试检查同一类的 2 个对象的完整身份。 我的逻辑是这样的:
def __init__(self, name, num):
self._name = name
self._scores = []
for _ in range(num):
self._scores.append(0)
def __eq__(self, other):
if self.name == other.name and self.num== other.num:
for j in range(1, self.num): # range from index 1
if self.getScore(j) != other.getScore(j):
return False
return True
else:
return False
我收到的是……:
AttributeError: 'MyClass' object has no attribute 'name'
我正在尝试更改 b/w 私有/受保护/公共,但我仍然无法使用运算符重载方法进行操作。
【问题讨论】:
-
你只有
_name
标签: python oop operator-overloading