Ֆունկցիան որպես փոփոխական 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))