본문 바로가기
BASIC

일급 객체 / switch

by 자동매매 2023. 11. 24.

일급 객체 

 

일급 객체(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

댓글