⊗pyPmFnFIF 20 of 129 menu

Funcție în funcție în Python

În Python, în interiorul unor funcții se pot declara alte funcții. Să presupunem că avem funcția exterioară outer, în interiorul căreia se află funcția inner:

def outer(): def inner(): pass

Exemplul de mai sus pare suficient de simplu. Cu toate acestea, adesea există situații în care în corpul funcției outer, pe lângă inner, se execută și alte operații. Pentru a simplifica codul, s-ar putea extrage inner în blocul exterior de cod, dar această funcție va fi utilizată doar o singură dată și doar în interiorul funcției outer. De aceea, nu are sens să o extragem în afara ei.

Să analizăm un exemplu în care funcției outer i se transmite o listă. Iar cu ajutorul funcției inner, elementul numeric al listei va fi ridicat la pătrat. Pentru aceasta, după funcția inner declarăm lista goală res, în care vor fi acumulate elementele ridicate la pătrat într-un ciclu:

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

Să apelăm funcția outer, să-i transmitem ca parametru lista și să afișăm rezultatul în consolă:

print(outer([2, 3, 5])) # va afișa [4, 9, 25]

Scrieți o funcție exterioară și una interioară, munca în comun a cărora va afișa fiecare element string al listei cu literă mare.

Sunt date funcțiile:

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

Rescrieți codul astfel încât func1 să fie o funcție interioară pentru func2.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge