Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- airflow.cfg
- TCP
- 가상환경
- 컴퓨터 네트워크
- TIL
- AWS
- Django
- 종류
- 데이터 웨어하우스
- PYTHON
- 데이터 파이프라인
- http
- 파이썬
- 정리
- dockerfile
- redshift
- HADOOP
- S3
- linux
- 컴퓨터네트워크
- 데이터 엔지니어링
- Go
- 운영체제
- sql
- 데이터엔지니어링
- 데이터베이스
- Docker
- 자료구조
- 데브코스
- airflow
Archives
- Today
- Total
홍카나의 공부방
[Python] 파이썬에는 switch 문이 없다. 본문
C나, C++와 같은 다른 언어에는 분기 처리를 할 수 있는 switch문이 존재한다.
switch (expression) {
case value1:
// 처리 로직
break;
case value2:
// 처리 로직
break;
case value3:
// 처리 로직
break;
default:
// 기본 처리 로직
break;
}
그런데 파이썬은 switch 문이 내장되어 있지 않다.
그래서 switch 문을 대신하여 if-elif-else를 사용하여 처리하곤 한다.
input = 2
if input == 0:
# Do something
elif input == 1:
# Do something
else:
# Do something
그런데 만약, if-else문을 제외하고 switch처럼 분기 처리를 하라고 하면, 어떻게 하겠는가?
해답 중 하나는 Dictionary를 이용하는 것이다.
딕셔너리를 사용하여 키-밸류 쌍을 설정하고, 입력된 밧에 해당하는 키의 값을 가져와서 처리하면 된다.
def case1():
print('this is case1')
def case2():
print('this is case2')
def case3():
print('this is case3')
input = 3
default = 1
cases = {
1: case1,
2: case2,
3: case3
}
cases.get(input, default)() # 결과 = "this is case3" 출력
위 문제를 딕셔너리를 활용해서 구현해보자.
def SKT():
print("당신은 SKT 사용자입니다.")
def KT():
print("당신은 KT 사용자입니다.")
def LGU():
print("당신은 LGU 사용자입니다.")
def Unknown():
print("통신사를 바로 알 수 없습니다.")
tc = input("휴대전화 번호 입력: ")
case = tc[:3]
cases = {"011": SKT, "016": KT, "019": LGU, "010": Unknown}
cases.get(case, Unknown)()
반응형
'Programming Language > Python' 카테고리의 다른 글
.venv 파이썬 가상환경 활성화 (0) | 2023.11.16 |
---|---|
[Python] GIL(Global Interpreter Lock)이 뭘까? (0) | 2023.06.02 |
[Python] ClassMethod와 StaticMethod (0) | 2023.05.27 |
[Python] if__name__=="__main__"은 왜쓰나요? (0) | 2023.05.19 |
[Python] list.append()와 list의 '+' operator 차이 (0) | 2023.04.16 |