⊗pyPmFnIFN 22 of 129 menu

Python-ում ներքին ֆունկցիայի հետ աշխատելու նրբությունները

Python-ում կարող են լինել ոչ միայն ներդիր ֆունկցիաներ, այլև մեկ ֆունկցիան կարող է վերադարձնել մեկ այլ ֆունկցիա: Օրինակ, թող outer ֆունկցիան վերադարձնի որպես արդյունք inner ֆունկցիայի սկզբնական կոդը:

def outer(): def inner(): return '+++' return inner

Եկեք outer կանչը գրենք res փոփոխականի մեջ:

res = outer() print(res)

Կոդի կատարումից հետո կարտացոլվի օբյեկտ ֆունկցիայով:

<function outer.<locals>.inner at 0x000001564A212B90>

Եթե res փոփոխականը կանչենք կլոր փակագծերով, ապա կվերադառնա '+++' հաղորդագրությունը:

print(res()) # կարտացոլի '+++'

Կարելի է վերագրել կոդն այնպես, որ res-ում գրվի outer երկու կլոր փակագծերով՝ ինքն իրեն և inner ֆունկցիան կանչելու համար: Դրանից բխում է, որ կարելի է գրել լրացուցիչ կլոր փակագծեր արտաքին ֆունկցիայից աջ՝ ըստ դրանում ներդրված ֆունկցիաների քանակի:

res = outer()() print(res) # կարտացոլի '+++'

Տրված է հետևյալ կոդը:

def outer(): def inner(num): return num + 2 return inner res = outer()(3) print(res)

Ասեք, թե ինչ կարտացոլվի կոնսոլում:

Տրված է հետևյալ կոդը:

def outer(): def inner(txt): return 'hello, ' + txt return inner res = outer() print(res)

Ասեք, թե ինչ կարտացոլվի կոնսոլում:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել