Indlejrede funktioner i Python
For at forkorte koden kan man ved kald indlejre funktioner i hinanden.
Lad os sige, at vi har funktioner til at opløfte et tal i anden potens, i tredje potens og til at lægge to tal sammen:
def square(num):
return num ** 2
def cube(num):
return num ** 3
def add(num1, num2):
return num1 + num2
For at få summen af kvadratet og terningen af et tal,
kan vi indlejre dem i parameteren for funktionen add
ved dens kald:
res = add(square(2), cube(4))
print(res) # vil udskrive 68
Derudover kan man kalde funktioner i
en anden funktions krop. Lad os omskrive
det forrige eksempel og kalde funktionerne inde i
add:
def add(num1, num2):
return square(num1) + cube(num2)
res = add(2, 4)
print(res) # vil udskrive 68
Lav en funktion, som vil opløfte et tal i anden potens og en funktion for at få terningen af et tal. Lav også ved hjælp af dem en funktion, som vil udskrive terningen af kvadratet af et tal.
Lav en funktion, som vil kontrollere typen af en variabel, og hvis variablen er en streng, vil den udskrive den med stort begyndelsesbogstav. Lav også en funktion, som vil byde en bruger velkommen ved navn. Indlejr den første funktion i den, således at navnet altid udskrives med stort begyndelsesbogstav.