Funksioni si Variabël në Python

Në Python, një funksion në thelb është një variabël. Dhe kjo do të thotë se ai gjithashtu mund të transmetohet.

Le të themi se kemi një funksion që kthen një pikëçuditëse:

pythondef func():
  return '!'

Le t'ia kalojmë print emrin e funksionit pa kllapa si një variabël:

pythonprint(func)

Pas ekzekutimit të kodit, në konsol do të shtypet një objekt i veçantë që përmban informacion për këtë funksion:

python<function func at 0x0000022816383E20>

Tani le të deklarojmë një variabël func2, ku vlerës së saj do t'ia kalojmë funksionin func1. Vetë funksioni do të transmetohet jo si vlerë, por si një objekt referencë. Dhe kur therritet func2 me kllapa, në konsol do të shfaqet rezultati i func1:

pythondef func1():
print('!')

func2 = func1
func2() # do të shfaqë '!'
Задание 1

Cili do të jetë rezultati i ekzekutimit të kodit në vijim:

pythondef func():
  print('hello, user!')

greet = func
print(greet)
Задание 2

Cili do të jetë rezultati i ekzekutimit të kodit në vijim:

pythondef getSum(num1, num2):
  res = num1 + num2
  return res

func = getSum
print(func(2, 3))