我想为以下类创建一个通用的__eq__()方法。基本上,我想添加另一个属性(nick),而不必更改__eq__()。
我想通过迭代dir()来实现这一点,但我想知道是否有一种方法可以创建一个推导式,只提供属性。
我想通过迭代dir()来实现这一点,但我想知道是否有一种方法可以创建一个推导式,只提供属性。
class Person:
def __init__(self, first, last):
self.first=first
self.last=last
@property
def first(self):
assert(self._first != None)
return self._first
@first.setter
def first(self,fn):
assert(isinstance(fn,str))
self._first=fn
@property
def last(self):
assert(self._last != None)
return self._last
@last.setter
def last(self,ln):
assert(isinstance(ln,str))
self._last=ln
@property
def full(self):
return f'{self.first} {self.last}'
def __eq__(self, other):
return self.first==other.first and self.last==other.last
p = Person('Raymond', 'Salemi')
p2= Person('Ray', 'Salemi')
__getattr__
(https://dev59.com/0GQo5IYBdhLWcg3wMtC2)。 - MEEfirst.setter
? - user2357112