返回

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.

我做错了什么?

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像