Middle
Mis vahe on is ja == Pythonis?
sobes.tech AI
Vastus AI-lt
Pythonis kontrollib is kontrollib, kas kontrollib, kas kaks muutuja viitavad sama objekti mälus (starp citu, 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.