[Python 기초] 파이썬의 조건문 match ~ case문의 개념
안녕하세요~
이번 시간에는 조건문 match case의 개념에 대해 알아보려고 하는데요.
정확한 개념과 활용법에 대해 배워볼까요?
조건문 match case
# 리터럴, 와일드카드
menu = int(input('메뉴를 입력해주세요> '))
match menu:
case 1:
print('커피')
case 2:
print('에이드')
case 3:
print('우유')
case _:
print('1 ~ 3까지만 입력 가능!')
print('=====================')
# 시퀀스, OR, 캡쳐
examples = [
['apple'],
['홍길동', '이순신'],
['1'],
['a', 'b'],
['score', 95, 82, 77]
]
for x in examples:
match x:
case ['apple']:
print(x)
case ['홍길동', '이순신']:
print(x)
case ['1'] | ['2']:
print(x)
case ['a', z]:
print(z)
case ['score', *z]:
print(z)
조건문 match case문을 여러가지 방법으로 사용하는 코드.
오늘의 핵심 키워드
1. 조건문 match ~ case는 값 자체를 조건으로 위에서부터 차례대로 체크하며 찾아가는 방식으로 작동한다.
match 변수 or 값:
case 값:
실행문
※ 들여쓰기 부분은 필수! ==> 파이썬은 공백으로 영역으로 나누기 때문에
2. ' _ ' (언더바)는 와일드카드라고 부르고 앞에 조건들을 제외한 모든 것을 포함한다.
3. ' | ' (OR)은 또는 개념으로 둘 중에 하나라도 만족하면 참이다.
4. ' * ' (별)은 앞에 값을 제외하고 나머지 요소들을 모두 저장하는 변수 앞에 붙인다.
① 변수 menu에 input() 함수로 콘솔창에서 입력받는 숫자 저장
② match case문에서 menu에 저장되는 값에 따라 매칭되어 각각 실행문 실행
① 변수 examples에 여러가지 종류의 리스트가 담긴 리스트 저장
② for 반복문을 통해 리스트에 담긴 요소들을 x에 저장하여 사용
# ['apple'] 매칭 - (시퀀스 패턴)
# ['홍길동', '이순신'] 모두 매칭 - (시퀀스 패턴)
# ['1'] 또는 ['2'] 매칭 - (OR 패턴)
# 'a'가 매칭되었을 때 두 번째 값을 z에 캡쳐 - (캡쳐 패턴)
# 'score'가 매칭되었을 때 매칭되지 않은 나머지 요소들을 *z에 저장 - (시퀀스 패턴)
꼭 봐야되는 마무리 꿀팁!
- 단순 값으로 찾아가는 조건이 필요할 때는 match-case문 사용하기!
- 값을 여러개 체크할 때는 OR(' | ') 사용하기!
- 리스트 중에서 나머지 요소를 저장할 때는 ' * ' 사용하기!
▲영상으로 한번 더 복습하세요 :)