Junior — Middle
Môžete vysvetliť, v čom spočíva rozdiel medzi operátorom porovnania == a operátorom identity is v Pythone?
sobes.tech AI
Odpoveď od AI
V Pythone kontroluje operátor == rovnosť hodnôt objektov, teda porovnáva obsah alebo stav objektov. Napríklad, dva rôzne reťazce s rovnakým textom budú rovné pomocou ==.
Operátor is kontroluje identitu objektov — ukazuje, či obe premenné odkazujú na ten istý objekt v pamäti.
Príklad:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a == c) # True, pretože zoznamy obsahujú rovnaké prvky
print(a is c) # False, rôzne objekty
print(a is b) # True, obe premenné odkazujú na ten istý objekt
Takže == zodpovedá za logickú rovnosť, a is za fyzickú identitu objektov.