파이썬에서 변수로서의 함수

파이썬에서 함수는 본질적으로 변수입니다. 이는 함수 역시 전달될 수 있음을 의미합니다.

느낌표를 반환하는 함수가 있다고 가정해 보겠습니다:

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