ფუნქცია როგორც ცვლადი 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))