QNA > C > Come Restituire Un Nome Di Variabile In Python (Ad Esempio, B = 3, Voglio Stampare B Come Str)

Come restituire un nome di variabile in Python (ad esempio, b = 3, voglio stampare b come str)

Un nome di variabile in python si riferisce ad un valore (o a nessun valore se la variabile non è inizializzata). In qualsiasi momento, un valore può avere da zero a molti nomi. Passando da una funzione all'altra o tra spazi di nomi, lo "stesso" nome non si riferisce necessariamente allo stesso valore. So if I had b=3 and returned to you:

  1. return("the value of b is", b) 

I’d return to you a tuple with a string that contains the variable name ‘b’ as a string and some other readable text (maybe we should simplify the spec of the return value to leave out the “other readable text” and the 2nd value in the tuple is a value that you could inspect to discover the value was an int with the numeric value of 3. Ma qual è l'uso del primo elemento della tupla restituita? La sub-routine che avevate chiamato e che aveva assegnato b=3 è ora ritornata, quindi il suo nome b non è nemmeno più definito. Il valore intero di 3 vive come il secondo valore senza nome nella tupla restituita. Se la vostra funzione attuale ha una variabile chiamata b, quella b è con tutta probabilità una b completamente diversa dalla b nella subroutine ora restituita.

Credo che quello che mi manca sia la cosa specifica che avevate in mente quando avete posto la domanda. Penso che finiremo per avere una grande discussione sui problemi di sicurezza dell'esporre l'accesso alle variabili del tuo programma Python a potenziali accessi inaspettati e incontrollati da parte dell'utente del tuo programma. State scrivendo una specie di interprete? O forse uno strumento di debug? Sarà importante per il vostro strumento mantenere i nomi e i valori delle variabili dell'utente memorizzati in modo distinto dal vostro spazio dei nomi per il vostro codice.

Quindi, da un lato, ammetto di non sapere cosa avevate in mente, ma sono abbastanza tranquillo nell'affermare che siete probabilmente sulla strada sbagliata e non dovreste fare quello che sembrate voler fare. Se proprio vuoi, sei libero di rispondere "No davvero, ecco perché" e possiamo discuterne ulteriormente, ma onestamente mi aspetto di dissuaderti da alcune scelte di design sfortunate di cui non mi hai ancora parlato.

Grazie per l'A2A. Mi sono divertito a rovistare nei risultati di ricerca di google per

python introspection

Di Devonne Economus

Perché le persone mettono il loro Snapchat su Tinder e poi si chiedono perché la gente li aggiunge? Non è questa la ragione per cui è lì? :: Quale telefono dovrei acquistare se ho bisogno solo di una fotocamera decente con una buona qualità di chiamata? Ho bisogno di uno economico ma buono
Link utili