Встречается на 1% собеседований по Python
Как отличить один экземпляр от другого в Python
В Python объекты сравниваются по умолчанию по идентичности (is) и равенству (==). Для сравнения экземпляров:
- is - проверяет, ссылаются ли переменные на один и тот же объект в памяти
- == - использует метод
__eq__для сравнения значений
Пример:
python
class Person:
def __init__(self, name):
self.name = name
p1 = Person("Alice")
p2 = Person("Alice")
p3 = p1
print(p1 is p2) # False - разные объекты
print(p1 is p3) # True - один и тот же объект
print(p1 == p2) # False - без __eq__ работает как isДля сравнения по значению нужно определить __eq__:
python
def __eq__(self, other):
return self.name == other.name
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы