Nell'apprendimento di Python, ho scoperto che quando due "nomi" (o "variabili") sono assegnati allo stesso valore, entrambi puntano allo stesso indirizzo di memoria. Ad esempio
>>> a = 10
>>> b = 10
>>> a is b
True
La mia domanda è, quando assegni b
, in che modo Python capisce che esiste già un oggetto 10
?
Un modo potrebbe essere creare il nuovo oggetto per b
, scansionare oggetti preesistenti in memoria per trovare un duplicato e, se trovato, puntare b
su di esso. Sembra costoso e difficile per oggetti più complessi.