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.