Python의 switch 문
이 튜토리얼은 Python에서switch
문 기능을 구현하는 다양한 방법을 보여줍니다. 많은 프로그래밍 언어에서switch
문은 프로그램 흐름을 제어하는 데 사용됩니다. 즉, 변수 또는 표현식의 값을 기반으로 실행되는 코드 블록입니다.
C, C++, C# 및 JAVA와 같은 프로그래밍 언어와 달리 Python 언어는 switch 문을 제공하지 않습니다. 하지만 파이썬에서 switch 문 대신 다음 메서드를 사용할 수 있습니다.
사전을 사용하여 switch
문 구현
Python의 사전 데이터 유형은 데이터 컬렉션을key:value
쌍으로 저장하는 데 사용됩니다. 변경 가능하거나 변경 가능한 데이터 유형이며 중복 값을 허용하지 않습니다.
switch 문에서와 같이 변수의 값에 따라 실행할 코드를 결정합니다. 사전의key:value
쌍을 사용할 수 있습니다. 여기서key
는 변수의 값이고value
는 함수의 이름입니다. key
값을 기반으로 해당 기능을 실행할 수 있습니다.
값이 코드 실행을 결정하는 변수x
가 있다고 가정하면0:function1
,1:function2
등과 같은 사전에key:value
쌍을 저장할 수 있습니다. 여기서0
및1
은 사전의 값입니다. 코드가 오류로 실행되는 것을 방지하기 위해dict.get(key, default)
메소드를 사용하고x
의 알 수없는 값이 제공되는 경우 함수 이름에default
값을 전달할 수 있습니다.
아래 예제 코드는 Python에서switch
문 기능을 구현하기 위해 사전 데이터 유형을 사용하는 방법을 보여줍니다.
def function1():
print("function 1 was executed")
def function2():
print("function 2 was executed")
def function3():
print("function 3 was executed")
switch = {1: function1, 2: function2, 3: function3}
x = 1
switch.get(x, function1)()
x = 2
switch.get(x, function1)()
출력:
function 1 was executed
function 2 was executed
변수x
의 값을 기반으로 다른 변수a
의 값에 대해 몇 가지 작업을 수행하려는 경우 아래 예제 코드와 같이 수행 할 수 있습니다.
switch = {1: lambda a: a + 1, 2: lambda a: a + 2, 3: lambda a: a + 3}
x = 2
a = 10
print(switch[x](a))
x = 1
a = 4
print(switch[x](a))
출력:
12
5
if...elif...else
또는if ... else
문을 사용하여 Switch 문 구현
if...elif...else
문은 두 개 이상의 케이스를 처리해야하는 경우 사용되며if ... else
문은 두 가지 가능성 또는 케이스를 처리하는 데 사용됩니다.
switch
문 대신x
값에 대해 가능한 코드가 두 개 있으면if ... else
를 사용할 수 있습니다. 그리고x
의 여러 값에 대해 실행할 코드 나 함수가 두 개 이상이면if...elif...else
문을 사용할 수 있습니다.
아래 예제 코드는 Python에서if ... else
문을 사용하여switch
문 기능을 구현하는 방법을 보여줍니다.
def function1():
print("function 1 was executed")
def function2():
print("function 2 was executed")
x = 3
if x == 1:
function1()
else:
function2()
출력:
function 2 was executed
아래 예제 코드와 같이if...elif...else
문을 사용하여switch
문을 구현하여 여러 사례를 처리 할 수 있습니다.
def function1():
print("function 1 was executed")
def function2():
print("function 2 was executed")
def function3():
print("function 3 was executed")
x = 2
if x == 1:
function1()
elif x == 2:
function2()
elif x == 3:
function3()
출력:
function 2 was executed