반응형
출처 : http://stackoverflow.com/questions/60208/replacements-for-switch-statement-in-python
파이썬에서 switch 구문을 대체하여 사용하는 방법
입력 index의 값을 기본으로 하여 다른 고정된 값을 리턴하는 파이썬의 함수를 작성하고 싶습니다.
다른 언어에서 저는 switch 또는 case 구문을 사용하고 싶지만 파이썬은 구문을 가지고 있는 것처럼 보이지 않습니다. 이러한 경우 파이썬에서 추천할만한 해결책은 무엇이 있습니까?
30 개의 답변 중 2개의 답변만 추려냄.
원래 아래 답변은 2008년에 작성했습니다. 그 이후로 Python 3.10 (2021)은 Python에서 "switch"의 일류 구현을 제공하는 match
-case
구문을 소개하였습니다. 예를 들면 다음처럼 작성가능합니다.
def f(x):
match x:
case 'a':
return 1
case 'b':
return 2
match
-case
문은 이 간단한 예제보다 훨씬 더 강력합니다.
당신은 dictionary를 사용할 수 있습니다.
def f(x):
return {
'a': 1,
'b': 2,
}[x]
만약 당신이 default를 사용하고 싶다면, dictionary의 get(key[, default]) 메소드를 사용할 수 있습니다.
def f(x):
return {
'a': 1,
'b': 2,
}.get(x, 9) # 9 is default if x not found
위의 답변과 관련하여
http://www.tutorialspoint.com/python/dictionary_get.htm
위 사이트에서 dictionary get 메소드에 대한 내용을 확인하실 수 있습니다.
반응형
'Python' 카테고리의 다른 글
Django Template의 나머지(%) 연산 (0) | 2016.02.27 |
---|---|
timeout과 함께 'subprocess' 모듈 사용하기 (0) | 2016.02.03 |
파이썬 : 왜 함수 이름 앞과 뒤에 "__"를 가진 함수들이 있을까요? (0) | 2016.01.12 |
n번째 문자마다 문자열을 나누는 방법? (0) | 2015.12.08 |
키로 dictionary를 어떻게 정렬할 수 있습니까? (0) | 2015.11.22 |