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.