-
[Python] 함수를 변수에 담아 사용하기언어/파이썬 & 장고 2016. 10. 7. 10:46
def other_method(a): print(a) val = other_method val(123)
# 123
함수를 변수에 담아서 사용이 가능하기 때문에 list나 dict 타입에도 넣어서 사용이 가능합니다.
def plus(a, b): return a + b def minus(a, b): return a - b list = [plus, minus] a = list[0](1, 2) b = list[1](1, 2) print(a, b) # 3, -1
파이썬은 함수를 일급 객체로 다루기 때문에 이러한 일이 가능합니다. 일급 객체는 프로그래밍 설계에서 매개변수로 넘길 수 있고 함수가 반환할 수 있으며 변수에 할당이 가능한 객체를 가리키는 용어입니다.
함수를 다른 함수의 매개변수로 사용할 수 있습니다.
def hello(): print('hello') def bye(): print('bye') def send(method): method() send(hello) # hello def send2(method): method send2(bye()) # bye