⊗pyPmFnFIF 20 of 129 menu

ფუნქცია ფუნქციაში Python-ში

Python-ში ერთი ფუნქციის შიგნით შესაძლებელია სხვა ფუნქციების გამოცხადება. დავუშვათ, გვაქვს გარე ფუნქცია outer, რომლის შიგნითაც მდებარეობს ფუნქცია inner:

def outer(): def inner(): pass

ზემოთ მოყვანილი მაგალითი საკმაოდ მარტივად გამოიყურება. თუმცა, ხშირად არსებობს სიტუაციები, როდესაც ფუნქციის outer სხეულში inner-ის გარდა სხვა ოპერაციებიც სრულდება. კოდის გასამარტივებლად შესაძლებელი იქნებოდა inner-ის გარე ბლოკში გატანა, მაგრამ ეს ფუნქცია მხოლოდ ერთხელ იქნება გამოყენებული და მხოლოდ ფუნქციის outer შიგნით. ამიტომ მისი ფარგლებს გარეთ გატანას აზრი არ აქვს.

მოდით განვიხილოთ მაგალითი, როდესაც ფუნქციას outer გადაეცემა სია. ფუნქციის inner დახმარებით კი სიის რიცხვითი ელემენტი აიყვანება კვადრატში. ამისთვის ფუნქციის inner შემდეგ ვაცხადებთ ცარიელ სიას res, რომელშიც დააგროვდება ის ელემენტები, რომლებიც კვადრატში აიყვანეს ციკლში:

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

მოდით გამოვიძახოთ ფუნქცია outer, გადავცეთ მას პარამეტრი სია და გამოვიტანოთ შედეგი კონსოლში:

print(outer([2, 3, 5])) # გამოიტანს [4, 9, 25]

დაწერეთ გარე და შიდა ფუნქციები, რომელთა ერთობლივი მუშაობა გამოიტანს სიის თითოეულ სტრიქონულ ელემენტს დიდი ასოთი.

მოცემულია ფუნქციები:

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-ისთვის.

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