[Python] Toglietemi un dubbio sugli scope delle variabili.

Gabriele Battaglia iz4apu a libero.it
Gio 13 Giu 2024 10:24:28 CEST


Il 28/05/2024 15:24, Daniele Zambelli ha scritto:
> Il giorno gio 23 mag 2024 alle ore 15:26 Gabriele Battaglia
> <iz4apu a libero.it> ha scritto:
>> Ciao a tutti.
>>
>> Per favore, leggete questa affermazione e, per non rubarvi tempo
>> prezioso, rispondetemi solo se è falsa e perchè.
>> [...]
>>
> Forse il problema nasce dalla considerazione data all'indentazione:
> non importa quanto è annidato un'istruzione, se non è all'interno dei
> una funzione fa parte dello scope globale.
>
> Forse questo script può chiarire:
>
>
> def assegna_pippo(valore):
>      """Funzione che assegna un valore a pippo."""
>      pippo = valore
>      # qui siamo nello scope della funzione assegna_pippo.
>      print(f"nella funzione: {pippo=}")
>
>
> pippo = True
>
> print(f"prima del ciclo: {pippo=}")
>
> for i in range(3):
>      if i == 1:
>          pippo = False
>          # non importa quanto è indentato,
>          # ci troviamo sempre nello scope principale.
>      print(f"nel ciclo: {i=}; {pippo=}")
>
> print(f"dopo il ciclo e prima della funzione: {pippo}")
>
> assegna_pippo(999)
>
> print(f"dopo la funzione: {pippo}")
>
>

Ciao Daniele, perdona il ritardo con cui ti ringrazio.


Penso di esserci finalmente arrivato, grazie a contributi come il tuo.


Ti auguro una serena giornata ed un'estate splendida.

A presto.


Gabriele.



Maggiori informazioni sulla lista Python