在Python 3.10及以上版本中,match-case
语句可以用来进行模式匹配。如果你想要同时匹配多个变量的值,可以使用元组(tuple)来组合这些变量,并在case
语句中进行匹配。
以下是一个示例,展示了如何同时匹配多个变量的值:
def match_multiple_variables(x, y):
match (x, y):
case (0, 0):
print("Both x and y are 0")
case (0, _):
print("x is 0, y is something else")
case (_, 0):
print("y is 0, x is something else")
case (1, 1):
print("Both x and y are 1")
case _:
print("Neither x nor y match the specific cases")
# 测试
match_multiple_variables(0, 0) # 输出: Both x and y are 0
match_multiple_variables(0, 5) # 输出: x is 0, y is something else
match_multiple_variables(3, 0) # 输出: y is 0, x is something else
match_multiple_variables(1, 1) # 输出: Both x and y are 1
match_multiple_variables(2, 3) # 输出: Neither x nor y match the specific cases
match (x, y):
将 x
和 y
组合成一个元组进行匹配。case (0, 0):
匹配 x
和 y
都为 0
的情况。case (0, _):
匹配 x
为 0
而 y
为任意值的情况。_
是一个通配符,表示匹配任意值。case (_, 0):
匹配 y
为 0
而 x
为任意值的情况。case (1, 1):
匹配 x
和 y
都为 1
的情况。case _:
是一个默认情况,匹配所有其他情况。通过这种方式,你可以同时匹配多个变量的值,并根据不同的组合执行相应的逻辑。