是否可以做一些看起来像这样的事情:
if obj in a_list_of_the_same_obj_type:
#do stuff
我的obj已经有__eq__
和__ne__
函数在属性上进行比较,所以我认为in
关键字会调用它,但它看起来不像。
答案 0 :(得分:0)
在这种情况下,运算符'in'调用python内置列表对象的__contains__()
,然后调用对象的__eq__()
,因此请确保__eq__()
obj 类中的 dunder 方法已正确实现。
答案 1 :(得分:-1)
您需要实施__contains__
才能测试会员资格