728x90
반응형
match 표현식은 파이썬 3.10 버전부터 도입된 기능으로, 다양한 패턴을 사용하여 데이터를 비교하고 처리하는 방법을 제공합니다.
1. 간단한 Match 사용: match 표현식은 입력된 값과 패턴을 비교하며, case 문을 통해 패턴에 맞는 조건을 처리할 수 있습니다.
def check_value(x):
match x:
case 0:
print("값은 0입니다.")
case 1:
print("값은 1입니다.")
case _:
print("다른 값입니다.")
2. 리스트 패턴 매칭: 리스트 내의 패턴을 매칭하여 특정 패턴에 따라 다른 처리를 수행할 수 있습니다.
def check_list(lst):
match lst:
case [0, 1]:
print("0과 1이 포함된 리스트입니다.")
case [2, *rest]:
print("2와 나머지 값이 포함된 리스트입니다.")
case _:
print("다른 리스트입니다.")
3. 클래스 패턴 매칭: 클래스의 속성을 기반으로 패턴을 매칭하여 다양한 조건에 따라 다른 동작을 정의할 수 있습니다.
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def process_point(p):
match p:
case Point(0, 0):
print("원점입니다.")
case Point(0, _):
print("x 축 위의 점입니다.")
case Point(_, 0):
print("y 축 위의 점입니다.")
case Point(x, y) if x == y:
print("대각선 위의 점입니다.")
case _:
print("일반적인 점입니다.")
4. 표현식과 함께 사용: match 표현식은 결과값을 반환하므로, 표현식 내에서 match를 사용하여 간결한 처리를 할 수 있습니다.
def check_value(x):
result = match x:
case 0:
"값은 0입니다."
case 1:
"값은 1입니다."
case _:
"다른 값입니다."
print(result)
match 표현식은 데이터를 패턴에 맞춰 처리하는 강력한 방법으로, 다양한 조건에 따라 코드를 간결하고 가독성 좋게 작성할 수 있습니다.
728x90
반응형
'파이썬 > 파이썬 기초' 카테고리의 다른 글
[파이썬 Python] 변경 불가능한 리스트 튜플 (Tuples, 리스트 차이) (0) | 2023.08.25 |
---|---|
[파이썬 Python] 함수 정의하기 (Def) (0) | 2023.08.15 |
[파이썬 Python] Pass문 활용. 코드를 미완성으로 남겨둘때 (0) | 2023.08.14 |
[파이썬 Python] break, continue, else 설명과 예시 (For문) (0) | 2023.08.13 |
[파이썬 Python] 반복문 for 문 range 함수 (0) | 2023.08.13 |