Sobes.tech
Junior — Middle

Můžete vysvětlit, v čem spočívá rozdíl mezi operátorem porovnání == a operátorem identity is v Pythonu?

sobes.tech AI

Odpověď od AI

V Pythonu kontroluje operátor == rovnost hodnot objektů, tj. porovnává obsah nebo stav objektů. Například dva různé řetězce se stejným textem budou srovnatelné jako rovné pomocí ==.

Operátor is kontroluje identitu objektů — ukazuje, zda obě proměnné odkazují na tentýž objekt v paměti.

Příklad:

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

print(a == c)  # True, protože seznamy obsahují stejné prvky
print(a is c)  # False, různé objekty
print(a is b)  # True, obě proměnné odkazují na stejný objekt

Tedy == odpovídá za logickou rovnost, is za fyzickou identitu objektů.