Sobes.tech
Junior

È possibile dichiarare una funzione all'interno di un'altra funzione e dove sarà visibile?

sobes.tech AI

Risposta dell'AI

Sì, è possibile. La funzione interna (o funzione annidata) è visibile e accessibile solo all'interno della funzione esterna in cui è definita. La sua area di visibilità è limitata al corpo della funzione esterna.

def funzione_esterna():
    def funzione_interna(): # Funzione annidata
        print("Questa è una funzione interna")

    funzione_interna() # Chiamata alla funzione interna all'interno di quella esterna

funzione_esterna() # Chiamata alla funzione esterna, che porta all'esecuzione di quella interna
# funzione_interna() # Questa riga causerà un errore NameError, poiché funzione_interna non è visibile fuori da funzione_esterna