⊗pyPmFnFIF 20 of 129 menu

Functie in functie in Python

In Python kun je binnen de ene functie andere functies declareren. Stel we hebben een buitenste functie outer, waarin zich een functie inner bevindt:

def outer(): def inner(): pass

Het bovenstaande voorbeeld ziet er vrij eenvoudig uit. Er zijn echter vaak situaties waarin in het lichaam van de functie outer, naast inner, ook andere operaties worden uitgevoerd. Om de code te vereenvoudigen zou men inner naar het buitenste codeblok kunnen verplaatsen, maar deze functie zal slechts één keer worden gebruikt en alleen binnen de functie outer. Daarom heeft het geen zin om hem naar buiten te verplaatsen.

Laten we een voorbeeld bekijken waarbij aan de functie outer een lijst wordt doorgegeven. En met behulp van de functie inner wordt een numeriek element van de lijst kwadraat. Hiervoor declareren we na de functie inner een lege lijst res, waarin elementen die zijn gekwadrateerd in een lus worden opgehoopt:

def outer(lst): def inner(num): return num ** 2 res = [] for el in lst: res.append(inner(el)) return res

Laten we de functie outer aanroepen, er een lijst als parameter aan doorgeven en het resultaat naar de console uitvoeren:

print(outer([2, 3, 5])) # geeft [4, 9, 25] weer

Schrijf een buitenste en binnenste functie waarvan de gezamenlijke werking elk tekenreekselement van de lijst met een hoofdletter zal uitvoeren.

Gegeven functies:

def func1(num): if num > 0: num += 2 return num def func2(iter): res = [] for el in iter: res.append(func1(el)) return res

Herschrijf de code zodat func1 een binnenste functie van func2 wordt.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren