프로그래밍 언어/Python

파이썬에서 case / switch 문을 사용하는 방법

Rateye 2021. 11. 2. 10:31
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
반응형