Каков наилучший способ сравнить два экземпляра какого-либо объекта для равенства в Python? Я хотел бы быть в состоянии сделать что-то вродеСравнение экземпляров объектов для равенства по их атрибутам в Python
Пример:
doc1 = ErrorDocument(path='/folder',title='Page')
doc2 = ErrorDocument(path='/folder',title='Page')
if doc1 == doc2: # this should be True
#do something
EDIT:
Для дальнейшего уточнения вопроса. Я хотел бы сравнить значения атрибутов и сделать более общее решение, чем
def __eq__(self, other):
return self.path == other.path and self.title == other.title
Если метод __eq__()
выглядеть примерно так?
def __eq__(self, other):
# Is the other instance of the same object
# Loop through __dict__ and compare values to attributes of other
Вы почти получили его, но вам не нужно зацикливать другой __dict__, потому что Python может проверить равенство между встроенными типами. Проверьте мой ответ на простой фрагмент. –