Middle
Aký je rozdiel medzi is a == v Pythone?
sobes.tech AI
Odpoveď od AI
V Pythone kontroluje operátor is, či dve premenne ukazujú na ten istý objekt v pamäti (t.j. porovnáva identitu objektov). Operátor == kontroluje rovnosť hodnôt objektov, čo znamená, že volá metódu __eq__ a porovnáva obsah alebo logiku rovnosti.
Príklad:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # True, pretože b odkazuje na ten istý objekt
print(a == b) # True, hodnoty sú rovnaké
print(a is c) # False, rôzne objekty
print(a == c) # True, zoznamy majú rovnaké hodnoty
Takže, is je kontrola identity (jeden objekt), a == je kontrola rovnosti podľa obsahu.