파이썬에 Switch Case구문이 없다... 때문에 JAVA의 invoke와 비슷한 getattr() 메서드를 활용하여 비슷한 동작을 하도록 구현하였다.
예제
class Switch:
def __init__(self):
self.do_someting()
def do_switch(self, _type):
# do_case_? 형태의 메서드를 호출
getattr(self, 'do_case_' + _type, lambda: 'Switch Fail!!')()
def do_case_a(self):
print('Call case A')
def do_case_b(self):
print('Call case B')
위와 같이 클래스를 생성한후, do_switch메서드 호출과 파라메터를 통해 do_case로 시작되는 메서드 들을 분기하여 호출한다
param = 'a'
Switch().do_switch(param)
# than print 'Call case A'
param = 'b'
Switch().do_switch(param)
# than print 'Call case B'
참고 : 링크
'프로그래밍 > Pyton.' 카테고리의 다른 글
[Python] Uvicorn 일자별 로그 쌓기(with. FastAPI) (0) | 2022.07.26 |
---|---|
[Python] requests 사용시 SSL 서명 오류 (0) | 2022.06.28 |
[Python] Java와 다른 예외처리(try-except) (0) | 2022.06.21 |
[PyCharm] Method 'method' may be 'static' 해결 (0) | 2022.06.09 |
[Pyton] 프로젝트 패키지 한번에 설치 하기 (0) | 2022.06.08 |
댓글