Sobes.tech
Junior — Middle

Puoi spiegare qual è la differenza tra l'operatore di confronto == e l'operatore di identità is in Python?

sobes.tech AI

Risposta dell'AI

In Python, l'operatore == verifica l'uguaglianza dei valori degli oggetti, cioè confronta il contenuto o lo stato degli oggetti. Ad esempio, due stringhe diverse con lo stesso testo saranno uguali con ==.

L'operatore is verifica l'identità degli oggetti — indica se entrambe le variabili fanno riferimento allo stesso oggetto in memoria.

Esempio:

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

print(a == c)  # True, perché le liste contengono gli stessi elementi
print(a is c)  # False, oggetti diversi
print(a is b)  # True, entrambe le variabili puntano allo stesso oggetto

Quindi, == risponde per uguaglianza logica, e is per identità fisica degli oggetti.