Il 28/05/2024 15:24, Daniele Zambelli ha scritto:
Il giorno gio 23 mag 2024 alle ore 15:26 Gabriele Battaglia
<iz4...@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.

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

Rispondere a