Sobes.tech
Back to questions
Junior — Middle
62

Какими способами можно определить, что два объекта в Python ссылаются на один и тот же экземпляр класса?

Answer from AI

sobes.tech AI

В Python, чтобы проверить, ссылаются ли два объекта на один и тот же экземпляр, используют оператор is. Он сравнивает идентификаторы объектов (их адреса в памяти).

Пример:

obj1 = SomeClass()
obj2 = obj1
obj3 = SomeClass()

print(obj1 is obj2)  # True, т.к. обе переменные указывают на один объект
print(obj1 is obj3)  # False, разные объекты

Также можно сравнить идентификаторы явно с помощью функции id():

print(id(obj1) == id(obj2))  # True
print(id(obj1) == id(obj3))  # False

Таким образом, is и сравнение id() — основные способы определить, что два объекта — один и тот же экземпляр.