본문 바로가기
파이썬 이야기

Part 25. 파이썬의 패턴 매치(Pattern match)

by 핸들이없는8톤트럭 2022. 8. 4.
반응형

파이썬 3.10, 최신 버젼에 추가된 기능입니다. 여러 개의 경우의 수 중 일치하는 경우로 동작하는 조건문입니다. 

일치하는 패턴에 맞게끔 동작을 하고, 다음으로 넘어가게 됩니다. 

 

# Pattern match(패턴 매치)
# python 3.10 이상에서만 동작

print('1. 문자열 매칭')
country = 'Korea'
match country :
    case 'Korea':
        code = 82
    case 'Japan':
        code = 81
    case _: # 나머지 경우를 모두 지칭
        code = None
print(f'{country} 국가의 코드는 {code}입니다.')

print('2. 문자열 매칭')
country = 'Korea'
match country.lower(): # 전부 소문자로 바꿈
    case 'korea' | 'kor' | 'south korea' :
        case = 82
    case 'japan' | 'jap' :
        case = 81
    case _:
        code = None
print(f'{country} 국가의 코드는 {code}입니다.')

print('3. 리스트 매칭')
command = 'go left'
match command.split():
    case ['quit'] | ['q'] :
        exit(0)
    case ['go', direction]:
        print(f'{direction} 방향으로 이동')
    case ['eat', item]:
        print(f'{item}을 먹는다.')
    case ['get', item]:
        print(f'{item}을 얻는다.')
    case _:
        print("종료")

 

반응형

댓글