У меня есть класс Python, имеющий атрибуты типа string, integer, dictionary, списка словарей и т. Д. Мне нужен способ сравнения двух объектов этого класса на основе значений их атрибутов. По сути, мне нужна помощь в переопределении метода eq . Но я не уверен, как это сделать, поскольку атрибуты класса состоят из словарей, списков и т. Д.
Я попытался переопределить метод eq , используя pycharm. Buy не решил мою проблему.
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.