ფუნქცია როგორც ცვლადი Python-ში
Python-ში ფუნქცია არსებითად ცვლადია. და ეს ნიშნავს, რომ მისი გადაცებაც შესაძლებელია.
დავუშვათ, გვაქვს ფუნქცია, რომელიც აბრუნებს ძახილის ნიშანს:
pythondef func():
return '!'
მოდით, print-ში გადავცეთ ფუნქციის სახელი
ფრჩხილების გარეშე, როგორც ცვლადი:
pythonprint(func)
კოდის შესრულების შემდეგ კონსოლში გამოჩნდება სპეციალური ობიექტი, რომელიც შეიცავს ინფორმაციას ამ ფუნქციის შესახებ:
python<function func at 0x0000022816383E20>
ახლა კი გამოვაცხადოთ ცვლადი func2,
რომლის მნიშვნელობაშიც გადავცემთ ფუნქციას func1.
თავად ფუნქცია გადაეცემა არა
მნიშვნელობით, არამედ მითითებით, როგორც ობიექტი. და
func2-ის ფრჩხილებით გამოძახებისას
კონსოლში გამოიყება func1-ის მუშაობის შედეგი:
pythondef func1():
print('!')
func2 = func1
func2() # გამოიტანს '!'
Задание 1
რა იქნება შემდეგი კოდის შესრულების შედეგი:
pythondef func():
print('hello, user!')
greet = func
print(greet)
Задание 2
რა იქნება შემდეგი კოდის შესრულების შედეგი:
pythondef getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))