[Python] La matrice immortale.

Gabriele Battaglia iz4apu a libero.it
Mar 1 Lug 2014 13:00:33 CEST


From: "Marco Beri" <marcoberi a gmail.com>

> Io: in realtà non la userei se non fosse che arrivano degli Unbounded
> local Error. Penso di aver compreso il meccanismo della visibilità delle
> variabili ma evidentemente non è così. Tieni comunque conto che qui si
> tratta di un progettino da poco, poche centinaia di righe che sono più un
> esercizio che un vero lavoro. Le variabili globali mi servono ma so che, in
> cose più complesse sarebbe bene non ci fossero affatto.
>


Gabriele,
secondo me non è giusto. Provo a spiegarmi meglio.

Ammettiamo che stai giocando a scacchi con un amico per allenarti per un
torneo. Fai un mossa orrenda e il tuo amico te la fa notare. Non credo che
tu risponderesti "sì, lo so che non devo fare quella mossa, ma tanto mi sto
solo allenando, al torneo non la farò di certo...".

Concordi? :-)

GB: Ciao Marco.
Sì, concordo. Bisogna fare tutto sempre al meglio, anche nelle cose più 
piccole.
Allora diciamo che global è l'unico modo che conosco per evitare gli errori di 
cui sopra.

Fino ad ora io ho capito che, se inizializzo una variabile nella parte 
principale dello script, a indentazione 0, per capirci, quella variabile sarà 
visibile da tutte le parti più interne dello script: definizioni di funzioni, 
di classi, procedure varie... Questo sembra funzionare, a volte però ho 
bisogno di accedere al valore di una variabile da una parte dello script che 
si trova allo stesso livello del punto in cui ho creato quella variabile e 
global funziona.
Diciamo ancora in un altra maniera: non mi sono mai trovato in una situazione 
in cui la presenza di variabili globali sia stata un problema, forse è per 
questo che ancora non ne colgo i lati oscuri. :)

Grazie per il tuo suggerimento che è, assieme a tutti quelli che vorrai darmi 
in futuro, sempre il benvenuto.

GB. 



Maggiori informazioni sulla lista Python