Indlejrede Funktioner
Stryg for at vise menuen
Når du ønsker at organisere din kode for bedre læsbarhed, indkapsling eller genbrug, kan du definere en funktion inde i en anden funktion. Disse kaldes indlejrede funktioner. I Python opretter du en indlejret funktion ved at skrive en funktionsdefinition inde i kroppen af en anden. Dette gør det muligt at skjule hjælpefunktionalitet, som ikke skal være tilgængelig udefra, eller at generere specialiserede funktioner dynamisk.
Syntaksen for en indlejret funktion er enkel: placer blot en def-sætning inden for kroppen af en anden def. Den indre funktion kan få adgang til variabler fra den omsluttende funktion, hvilket er nyttigt til at skabe tilpassede funktionaliteter eller hjælpeberegninger, der afhænger af argumenterne til den ydre funktion.
En praktisk anvendelse af indlejrede funktioner er at returnere en funktion, der er tilpasset med parametre fra den ydre funktion. Dette bruges ofte i funktionel programmering til at generere specialiserede funktioner eller til at indkapsle logik, der ikke skal forurene det globale scope.
1234567891011def make_multiplier(factor): # 'multiplier' function is nested inside 'make_multiplier' def multiplier(x): return x * factor return multiplier double = make_multiplier(2) triple = make_multiplier(3) print(double(5)) print(triple(4))
1. Hvorfor kunne du finde på at definere en funktion inde i en anden funktion?
2. Hvad er scope for en variabel defineret i en omsluttende funktion?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat