Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, na czym polega różnica między operatorem porównania == a operatorem tożsamości is w Pythonie?

sobes.tech AI

Odpowiedź od AI

W Pythonie operator == sprawdza równość wartości obiektów, czyli porównuje zawartość lub stan obiektów. Na przykład, dwa różne łańcuchy z tym samym tekstem będą równe za pomocą ==.

Operator is sprawdza tożsamość obiektów — wskazuje, czy obie zmienne odwołują się do tego samego obiektu w pamięci.

Przykład:

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a == c)  # True, ponieważ listy zawierają te same elementy
print(a is c)  # False, różne obiekty
print(a is b)  # True, obie zmienne wskazują na ten sam obiekt

Zatem == odpowiada za logiczną równość, a is za fizyczną tożsamość obiektów.