⊗pyPmFnIFN 22 of 129 menu

Python'da İç Fonksiyonlarla Çalışırken Karşılaşılan Nüanslar

Python'da sadece iç içe fonksiyonlar olmakla kalmaz, aynı zamanda bir fonksiyon başka bir fonksiyonu da döndürebilir. Örneğin, outer fonksiyonunun bir sonuç olarak inner fonksiyonunun kaynak kodunu döndürdüğünü varsayalım:

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

Hadi outer çağrısını res değişkenine kaydedelim:

res = outer() print(res)

Kod çalıştırıldıktan sonra fonksiyonlu bir nesne yazdırılacak:

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

Eğer res değişkeni parantezlerle birlikte çağrılırsa, '+++' mesajı dönecektir:

print(res()) # '+++' yazdıracak

Kodu, res içine outer'ın kendisini ve inner fonksiyonunu çağırmak için iki parantezle kaydedilecek şekilde yeniden yazabiliriz. Buradan çıkarılacak sonuç, dış fonksiyonun sağına, içine yerleştirilmiş fonksiyonların sayısına göre ek parantezler eklenebileceğidir:

res = outer()() print(res) # '+++' yazdıracak

Aşağıdaki kod verilmiştir:

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

Konsola ne yazdırılacağını söyleyin.

Aşağıdaki kod verilmiştir:

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

Konsola ne yazdırılacağını söyleyin.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet