Python'до функция өзгөрмө катары
Python'до функция өзүнүн мүнөзү боюнча өзгөрмө болуп саналат. Бул аны ошондой эле өткөрүп берүүгө болот дегенди билдирет.
Бизде үнсүз белгисин кайтарып берген функция бар дейли:
def func():
return '!'
Келиңиз, print функциясына атын
жалбыздабай, өзгөрмө катары өткөрөлү:
print(func)
Код аткарылгандан кийин консолго ушул функция жөнүндө маалыматты камтыган атайын объект чыгарылат:
<function func at 0x0000022816383E20>
Эми func2 өзгөрмөсүн жарыялайлы,
анын маанисине func1 функциясын өткөрөлү.
Функцияның өзү мааниси боюнча эмес,
объект катары шилтеме боюнча өткөрүлөт. Жана
жалбыздама менен func2 чакырылганда
консолго func1 иштөөсүнүн натыйжасы чыгат:
def func1():
print('!')
func2 = func1
func2() # '!' чыгарат
Төмөндөгү кодду аткаруунун натыйжасы кандай болот:
def func():
print('hello, user!')
greet = func
print(greet)
Төмөндөгү кодду аткаруунун натыйжасы кандай болот:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))