Junior
Peut-on déclarer une fonction à l'intérieur d'une autre fonction et où sera-t-elle visible?
sobes.tech IA
Réponse de l'IA
Oui, c'est possible. La fonction interne (ou fonction imbriquée) n'est visible et accessible qu'à l'intérieur de la fonction externe dans laquelle elle est définie. Sa portée est limitée au corps de la fonction externe.
def fonction_externe():
def fonction_interne(): # Fonction imbriquée
print("Ceci est une fonction interne")
fonction_interne() # Appel de la fonction interne à l'intérieur de la fonction externe
fonction_externe() # Appel de la fonction externe, ce qui entraîne l'exécution de la interne
# fonction_interne() # Cette ligne provoquera une erreur NameError, car fonction_interne n'est pas visible en dehors de fonction_externe