Junior
Vai ir iespējams deklarēt funkciju iekšā citas funkcijas un kur tā būs redzama?
sobes.tech AI
Atbilde no AI
Jā, tas ir iespējams. Iekšējā funkcija (vai iekļautā funkcija) ir redzama un pieejama tikai ārējās funkcijas ietvaros, kurā tā ir definēta. Tās redzamības lauks ir ierobežots ar ārējās funkcijas ķermeni.
def ārējā_funkcija():
def iekšējā_funkcija(): # Iekšējā funkcija
print("Šī ir iekšējā funkcija")
iekšējā_funkcija() # Izsaukums iekšējai funkcijai ārējās funkcijas ietvaros
ārējā_funkcija() # Izsaukums ārējai funkcijai, kas noved pie iekšējās funkcijas izpildes
# iekšējā_funkcija() # Šī rinda izraisīs NameError kļūdu, jo iekšējā_funkcija nav redzama ārpus ārējās funkcijas