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ů.