Java 또는 C#과 달리 Python에는 내장 스위치 문이 없습니다. 즉, "switch...case" 문을 모방하는 고유한 코드를 작성하지 않고는 switch 식을 평가할 수 없습니다.
이 가이드에서는 Python에서 "switch...case"를 작성하는 방법에 대해 논의하고, 코드에서 하나를 작성하는 방법을 배울 수 있도록 가짜 스위치 문의 두 가지 예를 살펴봅니다.
Switch 문:새로 고침
switch 문을 사용하면 실행할 코드 블록 세트 중 하나를 선택할 수 있습니다. 프로그램에서 여러 표현식을 평가하는 방법입니다.
switch 문은 switch 문을 평가하고 해당 문의 결과를 "case" 문의 값과 비교하여 작동합니다. 일치하는 항목이 발견되면 해당 코드 블록이 실행됩니다. 그렇지 않으면 아무 일도 일어나지 않습니다.
선택적으로 "default" 키워드는 특정 표현식과 일치하는 문이 없는 경우 코드 블록을 실행하는 데 사용됩니다.
Python Switch 문:개별 값 반환
숫자 값을 요일로 변환하는 프로그램을 작성해 보겠습니다.
시작하려면 사용자에게 날짜로 변환할 숫자를 삽입하도록 요청하세요.
convert_to_day =int(input("요일 삽입:"))
사용자가 프로그램에 삽입한 값을 정수로 변환합니다. 이것이 왜 필요한지는 튜토리얼의 뒷부분에서 논의할 것입니다.
참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.
부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.
다음으로 사전을 정의합니다. 이 사전은 모든 요일을 포함합니다. 각 키는 날짜를 숫자로 저장하고 각 값은 기록된 날짜(예:화요일)를 저장합니다.
일 ={ 1:"월요일", 2:"화요일", 3:"수요일", 4:"목요일", 5:"금요일", 6:"토요일", 7:"일요일"}사전>우리 사전에는 7개의 키와 값이 있습니다. 키 "1"은 "월요일"을 나타내는 식으로 해당 주의 마지막 날까지 계속됩니다.
다음으로 사전 get() 메서드를 사용하여 사용자가 삽입한 값에 해당하는 이 사전의 항목에 액세스합니다.
day_as_write =days.get(convert_to_day, "이 수치는 요일이 없습니다.")print(day_as_write)
get()
에서 사용할 수 있도록 사용자가 프로그램에 삽입한 값을 정수로 변환했습니다. 성명. "convert_to_day"가 저장하는 값과 동일한 키가 없는 경우 코드는 "이 숫자 값에 요일이 없습니다."를 반환합니다.
사용자가 값 "1"을 삽입하면 코드는 다음을 평가합니다.
일[1]이렇게 하면 목록의 키 "1"과 연결된 값이 검색됩니다.
코드를 실행하고 어떤 일이 일어나는지 봅시다:
요일 삽입:1월요일우리 코드는 사용자가 삽입한 숫자를 문자열로 성공적으로 변환합니다. 사전에 없는 날짜에 코드를 실행해 보겠습니다.
요일 삽입:8이 숫자 값에 요일이 없습니다.사용자가 잘못된 값을 삽입하더라도 우리 코드는 작동합니다.
Python Switch 문:함수 호출
이 구문을 사용하여 코드에서 함수를 호출할 수 있습니다. 샌드위치 가게의 구매 목록에 대한 정보를 표시하는 애플리케이션을 빌드할 것입니다.
먼저 구매 목록을 정의하겠습니다.
구매 =[2.50, 2.50, 2.75, 3.90, 5.60, 2.40]다음으로 세 가지 기능을 정의합니다. 이 함수는 다음을 계산합니다.
- 목록에 있는 구매 수
- 평균 구매 금액
- 최대 구매액
다음 함수를 정의해 보겠습니다.
def number_of_purchases():total =len(purchases) print(total)def average_value():average =sum(purchases) / len(purchases) print(average)def maximum_purchase():maximum =max(구매) print (최대)
이제 이러한 기능을 정의했으므로 faux-switch 문을 작성하기 시작합니다. 첫 번째 예에서 했던 것처럼 사용자에게 값을 삽입하도록 요청하는 것으로 시작합니다. 사용자가 삽입하는 값은 우리의 기능 중 하나와 일치해야 합니다.
print("[1] 오늘 구매한 횟수 표시")print("[2] 오늘 구매한 모든 항목의 평균 값 표시")print("[3] 오늘 가장 많이 구매한 항목 표시") to_run =int(input("무엇을 하시겠습니까? "))
우리 코드는 세 개의 메시지를 출력합니다. 각각은 사용자에게 선택할 수 있는 옵션을 알려줍니다. 그런 다음 코드는 사용자에게 값을 삽입하도록 요청합니다. 나중에 프로그램에서 사용할 수 있도록 이 값을 숫자로 변환합니다.
다음으로 함수를 숫자에 매핑하는 사전을 정의합니다.
옵션 ={ 1:number_of_purchases, 2:average_value, 3:가장 큰_purchase}
값 "1"은 "number_of_purchases"라는 함수에 매핑되고 값 "2"는 "average_value" 함수에 매핑되며 값 "3"은 "largest_purchase" 함수에 매핑됩니다.
다음으로 get()
을 사용합니다. 프로그램이 실행해야 하는 기능을 선택하는 방법:
function_to_execute =options.get(to_run)function_to_execute()
이 코드는 실행하려는 사전에서 함수를 검색합니다. get()
에 두 번째 값을 지정하지 않았습니다. 코드가 작동하려면 함수를 호출해야 하기 때문입니다. 즉, 사용자가 잘못된 값을 삽입하면 코드가 오류를 반환합니다. 이 동작을 처리하는 방법이 있지만 그렇게 하는 것은 이 자습서의 범위를 벗어납니다.
코드를 실행해 보겠습니다.
[1] 오늘 구매한 횟수 표시[2] 오늘 구매한 모든 항목의 평균값 표시[3] 오늘 가장 많이 구매한 항목 표시 무엇을 하시겠습니까? 35.6
목록에서 옵션 3을 선택했습니다. 우리의 코드는 특정 날짜에 이루어진 가장 큰 구매를 성공적으로 인쇄합니다. 옵션 2를 선택해 보겠습니다.
[1] 오늘 구매한 횟수 표시[2] 오늘 구매한 모든 항목의 평균값 표시[3] 오늘 가장 많이 구매한 항목 표시 무엇을 하시겠습니까? 23.275
코드는 목록에 있는 구매의 평균 값을 반환합니다.
결론
Python에는 내장 스위치 문이 없지만 사전과 get()
을 사용하여 만들 수 있습니다. 방법.
Switch 문은 여러 잠재적 결과에 대해 식을 평가하려는 경우에 유용합니다.
지정한 키에 따라 사전에서 값을 검색하는 faux-switch 문을 작성할 수 있습니다. 참조하는 특정 키를 기반으로 사전에서 함수를 검색하는 faux-switch 문을 작성할 수도 있습니다.
이제 전문 코더처럼 Python 프로그래밍 언어로 자신만의 switch 문을 작성할 준비가 되었습니다!