Supponiamo che io ho il seguente codice Python:Python sovrascrivere le variabili in funzioni nidificate
def outer():
string = ""
def inner():
string = "String was changed by a nested function!"
inner()
return string
Voglio una chiamata a esterno() per tornare! "String è stato cambiato da una funzione annidata", ma ottengo "" . Concludo che Python pensa che la riga string = "string was changed by a nested function!"
sia una dichiarazione di una nuova variabile locale a inner(). La mia domanda è: come faccio a dire a Python che dovrebbe usare la stringa outer()? Non riesco a utilizzare la parola chiave global
, perché la stringa non è globale, ma vive in un ambito esterno. Idee?
potrebbe essere correlato: http://stackoverflow.com/q/146359/212218 –