⊗pyPmFnFIF 20 of 129 menu

Pythonda funksiya ichida funksiya

Pythonda bir funksiyalar ichida boshqalari e'lon qilinishi mumkin. Faraz qilaylik, bizda outer tashqi funksiyasi bor, uning ichida inner funksiyasi joylashgan:

def outer(): def inner(): pass

Yuqoridagi misol juda oddiy ko'rinadi. Biroq, ko'pincha outer funksiyasi tana qismida inner dan tashqari boshqa amallar ham bajariladigan vaziyatlar mavjud. Kodni soddalashtirish uchun inner ni tashqi kod blokiga chiqarish mumkin edi, ammo bu funksiya faqat bir marta va faqat outer funksiyasi ichida ishlatiladi. Shuning uchun uni chegaralardan tashqariga chiqarish ma'nosiz.

Keling, outer funksiyasiga ro'yxat uzatiladigan misolni ko'rib chiqaylik. inner funksiyasi yordamida esa ro'yxatdagi raqamli element kvadrat darajaga ko'tariladi. Buning uchun inner funksiyasidan keyin biz bo'sh res ro'yxatini e'lon qilamiz, unda tsikl davomida kvadratga ko'tarilgan elementlar to'planadi:

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

Keling, outer funksiyasini chaqiraylik, unga parametr sifatida ro'yxat uzatamiz va natijani konsolga chiqaramiz:

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

Tashqi va ichki funksiyalarni yozing, ularning birgalikdagi ishi ro'yxatdagi har bir satrli elementni bosh harf bilan chiqarsin.

Quyidagi funksiyalar berilgan:

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

func1 func2 ning ichki funksiyasi bo'ladigan qayta yozing.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish