728x90
일급 객체 (first-class object) 는 아래와 같이 불리기도 한다.
- first-class citizen
- first-class type
- first-class entity
- first-class value
일급 객체의 특징
- 함수의 인자로 전달 가능
- 함수의 결과로 반환 가능
Python 에서는 정수, 문자열, list 등과 더불어 함수 또한 일급 객체이다. 이에 따라 아래와 같이 하나의 함수를 다른 함수의 인자로 넘겨줄 수 있다.
>>> def reverse(data):
... return data[::-1]
...
>>> data = ['zbc', 'tde', 'dcd', 'xfg']
>>> sorted(data, key=reverse)
['zbc', 'dcd', 'tde', 'xfg']
- 할당문의 대상이 될 수 있음
Python 에서는 함수가 일급 객체이기 때문에 다른 변수에 할당을 할 수 있다.
>>> def show():
... print("RET")
...
>>> a = show
>>> a()
RET
- 비교의 대상이 될 수 있음
- Runtime 에 생성 가능
728x90