⊗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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა