728x90
반응형
질문 : case / switch 문에 해당하는 Python은 무엇입니까?
알고 싶습니다. VB.net 또는 C #에서 사용 가능한 예제와 같은 case 문에 해당하는 Python이 있습니까?
답변
Python 3.10 이상
Python 3.10에서는 패턴 매칭을 도입하였다.
파이썬 설명서의 예:
def http_error(status):
match status:
case 400:
return "Bad request"
case 404:
return "Not found"
case 418:
return "I'm a teapot"
case _:
return "Something's wrong with the internet"
Python 3.10 이전 버전
공식 문서 는 스위치를 제공하지 않는 것이 기쁘지만 사전을 사용 하는 솔루션을 보았습니다.
예를 들면 :
# define the function blocks
def zero():
print "You typed zero.\n"
def sqr():
print "n is a perfect square\n"
def even():
print "n is an even number\n"
def prime():
print "n is a prime number\n"
# map the inputs to the function blocks
options = {0 : zero,
1 : sqr,
4 : sqr,
9 : sqr,
2 : even,
3 : prime,
5 : prime,
7 : prime,
}
그런 다음 동등한 스위치 블록이 호출됩니다.
options[num]()
낙하에 크게 의존하면 이것은 무너지기 시작합니다.
출처 : https://stackoverflow.com/questions/11479816/what-is-the-python-equivalent-for-a-case-switch-statement
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬 프로그램 실행 시간을 확인하는 방법 (0) | 2021.11.03 |
---|---|
파이썬 종료 명령의 종류와 각각의 차이점 (0) | 2021.11.03 |
PyPy가 6.3 배 빠르면 CPython보다 PyPy를 사용하면 안되는 이유 (0) | 2021.11.02 |
파이썬의 print 기능을 화면에 강제로 출력하는 방법 (0) | 2021.11.02 |
Python logger가 로그 파일 외에도 모든 메시지를 stdout에 출력하도록 만들기 (0) | 2021.11.01 |