Python-根据属性值比较类的两个对象

时间:2019-10-29 17:24:09

标签: class compare boto3 equals python-3.7

我有一个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。

0 个答案:

没有答案