Sobes.tech
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.