[Python] Toglietemi un dubbio sugli scope delle variabili.

Daniele Zambelli daniele.zambelli a gmail.com
Mar 28 Maggio 2024 15:24:41 CEST


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

www.matematicadolce.eu

Perché la scuola,
invece di essere un luogo dove ci si allena a imparare,
è un luogo dove si fa finta di sapere?


Maggiori informazioni sulla lista Python