2019.03.07 - python(3)
First Class Function
함수 자체를 아래의 3가지 방법으로 모두 사용가능해야 First Class Function 이라고 한다.
- argument(parameter): 함수를 인자로 전달 할 수 있어야 한다.
# argument
def f(a, b):
return a + b
def g(func, c, d):
return func(c, d)
a = 10
b = 20
g(f, a, b)
>>> 30
- variable: 변수에 함수를 할당 할 수 있어야 한다.
# variable
f_var = f
f_var(20, 30)
>>> 50
- return: 함수가 함수를 반환 할 수 있어야 한다.
# return
def create_calc(kind):
if kind == 'add':
def add(a, b):
return a + b
return add
elif kin = 'sub':
def sub(a, b):
return a - b
return sub
f = create_calc('add')
f(10, 20)
>>> 30
f = create_calc('sub')
f(10, 20)
>>> -10