일급 객체
일급 객체(first-class object)란 다음 조건을 만족하는 객체를 뜻합니다.
- 변수나 데이터 구조에 넣을 수 있어야 한다.
- 매개변수에 전달할 수 있어야 한다.
- 반환값으로 사용할 수 있어야 한다.
특히 일급 함수(first-class function)는 일급 객체의 조건을 만족하면서 실행 중(run-time)에 함수를 생성할 수 있어야 합니다.
파이썬에서는 def 안에서 def로 함수를 만들거나, lambda를 사용하여 실행 중에 함수를 생성할 수 있으므로 파이썬의 함수는 일급 함수입니다.
다른 언어에 있는 switch 문법은 사용할 수 없나요?
파이썬은 switch 문법이 없습니다. 하지만 딕셔너리와 람다 표현식을 사용하면 switch처럼 사용할 수는 있습니다.
switch = {
'+': lambda x, y: x + y, # 람다 표현식으로 실행할 코드를 작성
'*': lambda x, y: x * y
}
for i in switch.keys():
try:
print(switch[i](10, 20)) # 딕셔너리에 키를 지정하는 방식
except KeyError:
print('default') # 딕셔너리에 키가 없을 때는 기본값
'BASIC' 카테고리의 다른 글
반복문으로 리스트 만들기 (0) | 2023.11.24 |
---|---|
2차원 리스트 (0) | 2023.11.24 |
클로저 (0) | 2023.11.23 |
람다 표현식(lambda expression) (1) | 2023.11.22 |
재귀호출 (0) | 2023.11.21 |
댓글