以下是一个示例代码,演示了如何捕捉对象并检查它们的相等性:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __eq__(self, other):
if isinstance(other, Person):
return self.name == other.name and self.age == other.age
return False
def __str__(self):
return f"Person(name='{self.name}', age={self.age})"
person1 = Person("Alice", 25)
person2 = Person("Bob", 30)
person3 = Person("Alice", 25)
# 检查相等性
print(person1 == person2) # 输出: False
print(person1 == person3) # 输出: True
# 捕捉对象并检查相等性
people = [person1, person2, person3]
for person in people:
if person == person1:
print(f"Caught: {person}")
输出结果将是:
False
True
Caught: Person(name='Alice', age=25)