Ciao a tutti.

Per favore, leggete questa affermazione e, per non rubarvi tempo prezioso, rispondetemi solo se è falsa e perchè.


Delle variabili e della loro visibilità all'interno di uno script python, io ho capito questo.


All'inizio dello script, a indentazione 0 diciamo, dopo aver importato i moduli e dichiarato le costanti, io scrivo


pippo=True


Bene. Dovrei aver detto che pippo è vero e l'ho detto a livello più basso del codice. Ora, se io non dichiaro altri pippo all'interno di funzioni o moduli, l'unico pippo della vita mia, dovrebbe essere e rimanere, quello assegnato a True, all'inizio.

Tipo, se 2000 righe dopo, e annidato all'interno di una selva di indentazioni, dentro un if al dodicesimo leivello di tab scrivo che


if pluto == "12345": pippo=False


finito l'if, fatti eventuali return da mille funzioni, chiusi cicli while, loop vari, tutto quello che volete.

Dopo 5000 righe di codice, tornato a livello di indentazione 0.. Se vado a vedere il mio pippo...

Troverò sempre quello giusto? Cioè True se la condizione di pluto=="12345" non era vera, oppure False se lo era... ma la mia variabile pippo è sempre e solo quella.


Chiedo tutto ciò perchè ho uno script che fa più o meno questo, in termini generici, tuttavia la variabile non la leggo correttamente e non capisco cosa mi sfugga, da anni, in questa maledetta scemenza dello scope che dovrebbe essere proprio una sciocchezza, eppure, evidentemente sono più rincoglionito di quanto mi piaccia credere.


Grazie per il vostro aiuto.


Gabry.

--
Gabriele Battaglia (IZ4APU)
--... ...--  -.. .  .. --.. ....- .- .--. ..-  - ..-  . .
Sent from my Giant Desktop PC

_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a