python-python3 undefined _ne__;返回与defined _eq相同的值__
发布时间:2022-05-03 15:56:30 228
相关标签: # node.js
我有一个班我的班在哪里__eq__
定义如下:
def __eq__(self, other):
try:
other = MyClass(other)
except Exception as e:
raise ValueError(f"MyClass.__eq__ failed: {other} doesn't appear to be a valid MyClass type. \n", e )
prefix_i1 = re.findall("[ab]" , self )
prefix_i2 = re.findall("[ab]" , other )
if len( set( prefix_i1 + prefix_i2 ) ) > 1:
return False # ie: "a07" != "b07" BUT "k07" == "b07"
else:
return self.num_string == other.num_string # eg: "i3" == "i03"
self.num_string = "".join(filter(str.isdigit, self )).zfill(2)
出乎意料的是,我得到了这样的结果:
> MyClass('b05') == MyClass('i05')
True
> MyClass('b05') != MyClass('i05')
True
我想__ne__
默认情况下not __eq__
and defining it explicitly was discouraged since Python 3.
我做错了什么?
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报