Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pyPmFnIFN 22 of 129 menu
◀ ▶

პითონში შიდა ფუნქციებთან მუშაობის ნიუანსები

პითონში შეიძლება არსებობდეს არა მხოლოდ ჩადგმული ფუნქციები, არამედ ერთი ფუნქცია შეიძლება დააბრუნებდეს მეორეს. მაგალითად, დავუშვათ ფუნქცია 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हिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა