Python/기본
[Python] match
댕주
2024. 11. 8. 20:37
Python 에는 Java 의 swtich 문처럼 바로 사용할 수 있는 구조는 없지만, Python 3.10부터는 match 문을 사용할 수 있다.
match 문은 switch 문과 비슷한 역할을 하며, 조건에 따라 코드 실행을 제어할 수 있게 도와준다.
간단한 경우엔 If-elif-else 문으로도 비슷한 로직을 구현할 수 있다.
def example(value):
match value:
case 1:
print("One")
case 2:
print("Two")
case _:
print("Other")
case _: 는 match 문에서 기본값 역할을 하는 구문이다.
Java 의 default 와 비슷한 기능을 한다.
어떤 값이 들어와도 해당하는 다른 case 가 없을 때 case _: 에 해당하는 코드가 실행된다.
Python의 match 문에서 case 마다 break 를 사용할 필요가 없다.
match 문은 첫 번째로 일치하는 case 를 찾으면 바로 해당 블록을 실행하고 끝낸다.
추가 예시
def check_value(value):
match value:
case 1:
print("1")
case x if x > 2: # 여기서 x는 value와 동일한 값으로 할당된다
print(f"2보다 크다: {x}")
case _:
print("그 외")
여기서 x 는 조건에 따라 value 값을 가져오는 임시 변수로 사용된 것이다.
match 문에서는 이렇게 변수 바인딩과 조건을 조합해서 더욱 유연하게 사용할 수 있다.