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