⊗pyPmFnFIF 20 of 129 menu

Funkcja w funkcji w Pythonie

W Pythonie wewnątrz jednych funkcji można deklarować inne. Załóżmy, że mamy funkcję zewnętrzną outer, wewnątrz której znajduje się funkcja inner:

def outer(): def inner(): pass

Powyższy przykład wygląda dość prosto. Jednak często zdarzają się sytuacje, gdy w ciele funkcji outer oprócz inner wykonywane są jeszcze inne operacje. Dla uproszczenia kodu można by wynieść inner do zewnętrznego bloku kodu, jednak ta funkcja będzie użyta tylko raz i tylko wewnątrz funkcji outer. Dlatego nie ma sensu wynosić jej poza jej granice.

Przyjrzyjmy się przykładowi, gdy do funkcji outer przekazywana jest lista. A za pomocą funkcji inner element liczbowy listy będzie podnoszony do kwadratu. W tym celu po funkcji inner deklarujemy pustą listę res, w której będą gromadzone elementy podniesione do kwadratu w pętli:

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

Wywołajmy funkcję outer, przekażmy jej parametr lista i wypiszmy wynik do konsoli:

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

Napisz zewnętrzną i wewnętrzną funkcję, których wspólna praca będzie wypisywać każdy łańcuchowy element listy z wielkiej litery.

Dane są funkcje:

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

Przepisz kod tak, aby func1 była funkcją wewnętrzną dla func2.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć