Leggendo la "Introduzione alla scienza computer utilizzando Python" libro , da Carlo Dierbach, ho una domanda:Come sono correlati un nome e il suo valore di riferimento?
- Nella pagina 210, dice "Un riferimento è un valore che fa riferimento, o“punti ", la posizione di un'altra entità. Il valore di riferimento di una variabile può essere determinato con l'ID della funzione incorporata."
Quindi un riferimentoè solo l'indirizzo in memoria di un oggetto.
Ora, se non sbaglio, quando creo una variabile del tipo:
>>> a = 3
Il nome un è messo automaticamente da Python nella namespace.
Se lo faccio:
>>> id(a)
4548344816
ottengo l'indirizzo in memoria dell'oggetto , quella che un fa riferimento.
Quindi quello che voglio sapere è, come sono il nome un e il valore di riferimento correlati.
Sto indovinando che quando un nome è un put in uno spazio dei nomi, include 2 cose:
Il nome stessa.
Il valore di riferimento (id dell'oggetto)
Un accoppiamento come forse: a:reference value
?
In tal caso, è disponibile uno strumento di analisi per visualizzare l'aspetto di una voce nello spazio dei nomi?
Aha, sto seguendo un altro libro di Mark Lutz, "Learning Python", e in pag. 176 dice * "le variabili e gli oggetti sono memorizzati in diverse parti della memoria e sono associati ai collegamenti" *. So che posso ottenere l'indirizzo dell'oggetto con 'id()', ma c'è un modo per scoprire l'indirizzo del ** nome ** stesso? – javi
Inoltre, nella prossima pagina dice * "Le variabili sono voci in una tabella di sistema, con spazi per i collegamenti agli oggetti." * Queste voci a cui si riferisce sono gli elementi del dizionario del namespace. Ogni ** elemento ** in quel dizionario funziona come un ** link **, che lega il nome e l'oggetto. Destra? – javi
@javi: il libro è impreciso. Gli oggetti frame mantengono gli spazi dei nomi, ma sia gli oggetti frame * che * gli oggetti nome (che sono solo oggetti stringa) vivono tutti nello stesso spazio di memoria. –