Junior
Kas on võimalik deklareerida funktsioon teise funktsiooni sees ja kus see on nähtav?
sobes.tech AI
Vastus AI-lt
Jah, see on võimalik. Sisefunktsioon (või sisseehitatud funktsioon) on nähtav ja kättesaadav ainult väljaspool seda välisfunktsiooni, milles see on määratletud. Selle nähtavusala on piiratud välisfunktsiooni keha piiridega.
def välisfunktsioon():
def sisemine_funktsioon(): # Sisefunktsioon
print("See on sisemine funktsioon")
sisemine_funktsioon() # Sisemise funktsiooni kutsumine väljafunktsiooni sees
välisfunktsioon() # Välisfunktsiooni kutsumine, mis viib sisemise funktsiooni täitmiseni
# sisemine_funktsioon() # See rida põhjustab NameError vea, kuna sisemine_funktsioon ei ole nähtav väljaspool välisfunktsiooni