⊗pyPmFnFIF 20 of 129 menu

Funktion i funktion i Python

I Python kan man erklære andre funktioner inden i en funktion. Lad os sige, at vi har en ydre funktion outer, inde i hvilken der findes funktionen inner:

def outer(): def inner(): pass

Eksemplet ovenfor ser simpelt nok ud. Men ofte opstår der situationer, hvor der i funktionskroppen outer udover inner også udføres andre operationer. For at forenkle koden kunne man have flyttet inner ud til en ydre blok, men denne funktion vil kun blive brugt én gang og kun inde i funktionen outer. Derfor giver det ikke mening at flytte den ud.

Lad os se på et eksempel, hvor en liste overføres til funktionen outer. Og ved hjælp af funktionen inner vil det numeriske element i listen blive opløftet til anden potens. Til dette erklærer vi en tom liste res efter funktionen inner, i hvilken elementer vil blive akkumuleret, opløftet til anden potens i en løkke:

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

Lad os kalde funktionen outer, overføre en liste som parameter og udskrive resultatet i konsollen:

print(outer([2, 3, 5])) # vil udskrive [4, 9, 25]

Skriv en ydre og en indre funktion, hvis fælles arbejde vil udskrive hvert streng-element i listen med stort begyndelsesbogstav.

Givne funktioner:

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

Omskriv koden, så func1 bliver en indre funktion for func2.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis