[Python] Si possono creare variabili globali all'interno di una funzione che si trova a sua volta all'interno di un modulo?
Germano Carella
germano.carella a gmail.com
Lun 13 Maggio 2013 17:40:52 CEST
Ciao,
Arieccomi con un’altra domanda, che magari non troverà risposta, perché non
so nemmeno se l’ho posta bene.
Dunque, io sto scrivendo una funzione, all’interno di un modulo chiamato
utils, che dovrebbe impostare una variabile all’interno del dizionario delle
variabili globali.
La funzione si chiama setglobal ed è definita come segue:
def setglobals(name,value):
“””Name è la stringa contenente il nome della variabile; value è il suo
valore…”””
If type(name) is str:
Globals()[‘%s’%name]=value
Else:
Raise TypeError(“richiesta una stringa come primo argomento.”)
Ok, la funzione, come detto, si trova all’interno di un modulo.
Dunque lancio la console di python e scrivo:
Import utils
Utils.setglobals(“nome”,”germano”)
Funziona, nessun errore.
Dunque, secondo la mia mente becera, dovrei aver creato una variabile
chiamata nome, con il valore “germano”.
Allora scrivo:
nome
Traceback… etc…
NameError: name ‘nome’ is not defined
Poi mi viene in mente di scrivere:
utils.nome
‘germano’
Ops, allora l’ha creata!
Naturalmente l’ha creata a livello di modulo.
Purtroppo, se invece di importare il modulo scrivo
>From utils import setglobals
Setglobals(“nome”,”germano”)
Non dà errore, ma non crea la variabile.
Ora la domanda: come faccio a impostare questa variabile nel dizionario
globale delle variabili globali? Si può fare o sto dicendo scemenze?
Scusate, non me ne vogliate, ancora non imparo bene, se avete qualche
documento in merito a questa problematica da suggerirmi, è il benvenuto.
Grazie.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130513/625f1afe/attachment.html>
Maggiori informazioni sulla lista
Python