Middle
Kāda ir atšķirība starp is un == Python?
sobes.tech AI
Atbilde no AI
Pythonā operētors is pārbauda, vai divas mainīgās norāda uz to pašu objektu atmiņā (t.i., salīdzina objektu identitāti). Operētors == pārbauda objektu vērtību vienādību, tas ir, izsauc __eq__ metodi un salīdzina saturu vai vienādības loģiku.
Piemērs:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # Patiesi, jo b norāda uz to pašu objektu
print(a == b) # Patiesi, vērtības sakrīt
print(a is c) # Ne, dažādi objekti
print(a == c) # Patiesi, sarakstu vērtības ir vienādas
Tādējādi, is ir identitātes pārbaude (viens objekts), bet == ir satura vienādības pārbaude.