Grazie Massimo.
Siccome è passato molto tempo da che mi scrivesti questa risposta, la
riporto qui sotto per intero.
Da parte mia, e di tutti i principianti come me, ti ringrazio per la
chiarezza su questa caratteristica di Python e, immagino, di tutti i
linguaggi di programmazione che risult
Il 25/07/2022 15:20, Gabriele Battaglia ha scritto:
[...]
Riprendendo il tuo esempio ti chiedo, a cosa serve allora la parola
chiave global?
Se io dichiaro una variabile a livello main, poi la modifico all'interno
di una funzione di livello più alto e naturalmente me la aspetto
modificata qua
Ciao,
serve, appunto, a segnalare che stai usando quella globale. Se cambi
la tua funzione in modo che stampi solo d senza definirla, ti tornerà 1:
>>> def mo():
... print(d)
...
>>> d=1
>>> mo()
1
Se invece vuoi modificarla, allora la devi definire localmente (ma resta
lì) oppure usare gl
Il 06/05/22 09:34, Yuri ha scritto:
Ciao,
se non si modifica la variabile all'interno della funzione, si può
usare la variabile esterna:
>>> d = 0
>>> def test():
... print(d)
...
>>> test()
0
Se invece si tenta di modificarla:
>>> def test():
... print(d)
... d = 1
...
>>> d = 0
>>>
Ciao,
se non si modifica la variabile all'interno della funzione, si può
usare la variabile esterna:
>>> d = 0
>>> def test():
... print(d)
...
>>> test()
0
Se invece si tenta di modificarla:
>>> def test():
... print(d)
... d = 1
...
>>> d = 0
>>> test()
Traceback (most recent call las
Il 05/05/2022 16:16, Gabriele Battaglia ha scritto:
Chiedo venia, so che non si dice così ma non mi viene un termine
migliore, forse inspecting... :)
Comunque.
Ho una variabile dichiarata ad inizio script, del tipo: d={}
poi una routine la modifica, ovviamente ha lo stesso nome all'interno
Il 05/05/2022 16:16, Gabriele Battaglia ha scritto:
[...]
Ho una variabile dichiarata ad inizio script, del tipo: d={}
poi una routine la modifica, ovviamente ha lo stesso nome all'interno
della funzione che non riceve () e non restituisce nulla con return.
All'uscita da questa funzione tut
Il 05/05/22 16:16, Gabriele Battaglia ha scritto:
Chiedo venia, so che non si dice così ma non mi viene un termine
migliore, forse inspecting... :)
Comunque.
Ho una variabile dichiarata ad inizio script, del tipo: d={}
poi una routine la modifica, ovviamente ha lo stesso nome all'interno
ciao gabriele. hai un esempio minimale che riproduca il problema?
Il giorno gio 5 mag 2022 alle ore 16:17 Gabriele Battaglia
ha scritto:
>
> Chiedo venia, so che non si dice così ma non mi viene un termine
> migliore, forse inspecting... :)
>
>
> Comunque.
>
> Ho una variabile dichiarata ad inizi