⊗pyPmFnIFN 22 of 129 menu

Python-da daxili funksiya ile işin nüansları

Python-da təkcə daxili funksiyalar ola bilməz, həm də bir funksiya digərini qaytara bilər. Məsələn, outer funksiyası nəticə olaraq inner funksiyasının mənbə kodunu qaytarsın:

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

Gəlin outer çağırışını res dəyişəninə yazaq:

res = outer() print(res)

Kodu icra etdikdən sonra funksiya olan obyekt çıxılacaq:

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

Əgər res dəyişəni dəyirmi mötərizələrlə çağırılsa, '+++' mesajı qaytarılacaq:

print(res()) # '+++' çıxardacaq

Kodu res-də outer-in özünü və inner funksiyasını çağırmaq üçün iki dəyirmi mötərizə ilə yazıla biləcəyi şəkildə dəyişmək olar. Buradan belə nəticə çıxır ki, xarici funksiyanın sağında, içinə daxil edilmiş funksiyaların sayı qədər əlavə dəyirmi mötərizə yazmaq olar:

res = outer()() print(res) # '+++' çıxardacaq

Aşağıdakı kod verilmişdir:

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

Konsola nə çıxarılacağını deyin.

Aşağıdakı kod verilmişdir:

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

Konsola nə çıxarılacağını deyin.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et