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))