파이썬 일급객체
파이썬의 일급객체는 다음과같은 조건을 만족한다.
변수나 데이터 구조안에 담을수있다.
def example():
print('first-class citizen')
var = example
var() # first-class citizen
print(var) # <function example at 0x10613d5f0>
다음과같으 함수를 변수에 할당가능하다.
매개변수로 전달이 가능하다
def example():
return 'first-class citizen'
def example2(func):
print(func())
print(func)
example2(example)
>>> first-class citizen
>>> <function example at 0x104ef7320>
위와같이 매개변수로 전달가능하다.
리턴값으로 사용될 수 있다.
def example():
def example2():
return "first-class citizen"
return example2()
example()
>>> first-class citizen
외부함수 example 안에 내부함수가 있는데 return 값을 example2 로사용하는것을 볼수있다.