⊗pyPmFnFIF 20 of 129 menu

Funktion in Funktion in Python

In Python können innerhalb einer Funktion andere deklariert werden. Angenommen, wir haben eine äußere Funktion outer, innerhalb derer sich die Funktion inner befindet:

def outer(): def inner(): pass

Das oben gezeigte Beispiel sieht einfach genug aus. Allerdings gibt es oft Situationen, in denen im Körper der Funktion outer neben inner noch andere Operationen ausgeführt werden. Um den Code zu vereinfachen, könnte man inner in einen äußeren Codeblock auslagern, allerdings wird diese Funktion nur einmal und nur innerhalb der Funktion outer verwendet. Daher macht es keinen Sinn, sie auszulagern.

Betrachten wir ein Beispiel, bei dem eine Liste an die Funktion outer übergeben wird. Und mit Hilfe der Funktion inner wird das numerische Element der Liste quadriert. Dazu deklarieren wir nach der Funktion inner eine leere Liste res, in welche die im Schleife quadrierten Elemente gesammelt werden:

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

Rufen wir die Funktion outer auf, übergeben ihr eine Liste als Parameter und geben das Ergebnis in der Konsole aus:

print(outer([2, 3, 5])) # gibt [4, 9, 25] aus

Schreiben Sie eine äußere und eine innere Funktion, deren gemeinsame Arbeit jedes Zeichenketten-Element der Liste mit einem Großbuchstaben beginnend ausgibt.

Gegeben sind die Funktionen:

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

Schreiben Sie den Code so um, dass func1 eine innere Funktion von func2 wird.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen