python3.10 match case 怎么匹配多个值同时满足?
var1 = 1var2 = 2
match True:
case var1==1 and var2==2: print('同时满足多个值')
怎么让上面代码正确?
python3.10 match case 怎么匹配多个值同时满足?
回答:
可以这么写:
var1 = 1var2 = 2
match (var1, var2):
case (1, 2):
print("同时满足多个值")
详见 4.6. match
语句 — 4. 其他流程控制工具 — Python 3.10.9 文档 中的第三个代码块:
模式的形式类似解包赋值,并可被用于绑定变量:
# point is an (x, y) tuple
match point:
case (0, 0):
print("Origin")
case (0, y):
print(f"Y={y}")
case (x, 0):
print(f"X={x}")
case (x, y):
print(f"X={x}, Y={y}")
case _:
raise ValueError("Not a point")
请仔细研究此代码! 第一个模式有两个字面值,可以看作是上面所示字面值模式的扩展。但接下来的两个模式结合了一个字面值和一个变量,而变量 绑定 了一个来自目标的值(point)。第四个模式捕获了两个值,这使得它在概念上类似于解包赋值 (x, y) = point。
以上是 python3.10 match case 怎么匹配多个值同时满足? 的全部内容, 来源链接: utcz.com/p/938729.html