我有一个python类,其属性类型为字符串,整数,字典,字典列表等。我需要一种基于其属性值比较此类的两个对象的方法。 基本上,我需要帮助来覆盖 eq 方法。但由于类属性由字典,列表等组成,因此我不确定该怎么做。
我尝试使用pycharm覆盖 eq 方法。购买不能解决我的问题。
class PrimaryAttributes:
def __init__(self, **kwargs):
self.InstanceId = kwargs['InstanceId'] #String
self.RegionName = kwargs['RegionName'] #String
self.AccountNo = kwargs['AccountNo'] #String
def __eq__(self, other):
print('TODO: override equals method.')
class Attributes(PrimaryAttributes):
def __init__(self, **kwargs):
PrimaryAttributes.__init__(self, **kwargs)
self.ImageId = kwargs['ImageId'] #String
self.InstanceType = kwargs['InstanceType'] #String
self.KeyName = kwargs['KeyName'] #String
self.Platform = kwargs['Platform'] #String
self.State = kwargs['State'] #String
self.IamInstanceProfile = kwargs['IamInstanceProfile'] #String
self.SecurityGroups = kwargs['SecurityGroups'] #Dict
self.SubnetId = kwargs['SubnetId'] #String
self.VpcId = kwargs['VpcId'] #String
self.Tags = kwargs['Tags'] #List of dict
def __eq__(self, other):
print('TODO: override equals method.')
我需要根据属性值比较对象并返回True或False。