Sobes.tech
Junior — Middle

El tudnád magyarázni, mi a különbség a == összehasonlító operátor és az is identitás operátor között Pythonban?

sobes.tech MI

Válasz az MI-től

Pythonban az == operátor az objektumok értékegyenlőségét ellenőrzi, azaz összehasonlítja az objektumok tartalmát vagy állapotát. Például két különböző sztring ugyanazzal a szöveggel ==-tel egyenlő.

Az is operátor az objektumok azonosságát ellenőrzi — megmutatja, hogy mindkét változó ugyanarra az objektumra mutat-e a memóriában.

Példa:

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

print(a == c)  # Igaz, mert a listák ugyanazokat az elemeket tartalmazzák
print(a is c)  # Hamis, különböző objektumok
print(a is b)  # Igaz, mindkét változó ugyanarra az objektumra mutat

Tehát az == a logikai egyenlőséget, az is pedig az objektumok fizikai azonosságát jelenti.