파이썬에서 switch문 대체하기
if-elif-else 구문 사용
파이썬에서는 switch
문이 없기 때문에, 대부분의 경우 if-elif-else
구문을 사용하여 비슷한 로직을 구현합니다. 이는 다른 프로그래밍 언어에서 보통 switch
로 처리되는 패턴을 파이썬에서도 쉽게 처리할 수 있게 해줍니다.
1
2
3
4
5
6
7
8
9
def switch_example(value):
if value == 'A':
return "Apple"
elif value == 'B':
return "Banana"
elif value == 'C':
return "Cherry"
else:
return "Unknown"
이 방법은 간단하고 직관적이며, 대부분의 상황에서 잘 작동합니다.
딕셔너리 매핑 활용
더 빠른 실행 속도가 필요한 경우, if-elif-else
구문 대신 딕셔너리(Dictionary)를 사용할 수 있습니다. 딕셔너리는 키와 값으로 데이터를 저장합니다. 딕셔너리를 사용하면 코드가 더 간결해지고 실행 속도도 빨라집니다.
1
2
3
4
5
6
def switch_dict(value):
return {
'A': "Apple",
'B': "Banana",
'C': "Cherry"
}.get(value, "Unknown")
함수를 활용한 고급 매핑
좀 더 복잡한 로직이 필요한 경우, 딕셔너리에 함수를 저장하여 사용할 수 있습니다. 이 방법은 특히 함수의 로직이 복잡하거나 매개변수가 여러 개 필요할 때 유용합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def apple_func():
return "Apple"
def banana_func():
return "Banana"
def cherry_func():
return "Cherry"
switch_func_dict = {
'A': apple_func,
'B': banana_func,
'C': cherry_func
}
def switch_func_example(value):
return switch_func_dict.get(value, lambda: "Unknown")()
이렇게 하면, switch
문 없이도 파이썬에서 다양한 조건 분기를 효율적으로 처리할 수 있습니다. 각 방법은 자신의 장단점이 있으므로, 상황에 맞게 적절한 방법을 선택하면 됩니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.