[Python] Toglietemi un dubbio sugli scope delle variabili.

Gabriele Battaglia iz4apu a libero.it
Gio 23 Maggio 2024 12:04:58 CEST


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



Maggiori informazioni sulla lista Python