Nếu tôi hiểu chính xác, hàm __cmp __() của đối tượng được gọi để đánh giá tất cả các đối tượng trong bộ sưu tập trong khi xác định xem đối tượng có phải là thành viên hay 'in' hay không. Tuy nhiên, điều này dường như không phải là trường hợp cho bộ:Tìm hiểu thành viên đối tượng trăn cho các bộ
class MyObject(object):
def __init__(self, data):
self.data = data
def __cmp__(self, other):
return self.data-other.data
a = MyObject(5)
b = MyObject(5)
print a in [b] //evaluates to True, as I'd expect
print a in set([b]) //evaluates to False
thế nào là một thành viên đối tượng thử nghiệm trong một bộ, sau đó?
Đó chính xác là những gì tôi đang tìm kiếm. Cảm ơn :) – jifa
Mặc dù điều đó nên đọc một cách tự động 'return hash (self.data)'. – delnan
// Đồng thời - để phát hiện thói quen bình luận không phải python của tôi. – jifa