我想在 Python 中创建一个匹配大小写语句,其中两个大小写执行相同的指令。例如,如果 Python 的行为像 C++,根据这个 Stack Overflow 问题,我会将匹配大小写语句写为:
match x:
case 1:
case 2:
# Some code
break
case 3:
# Some code
break
但是代码不起作用,这表明在 Python 中需要以不同的方式编写 match-case 语句。这是什么路?
match x:
case 1 | 2:
# Some code
case 3:
# Some code
Python 匹配子句不会失败,因此您不能像 C 中那样将它们连接起来,并且在子句末尾不使用
break
。
“OR 模式”(如图所示,其中 |
表示“或”)可以与绑定变量的子模式一起使用,但所有子模式都需要绑定相同的变量。
官方 Python 3 教程,在匹配情况下,您可以使用 | 将多个文字组合在一个模式中。 (“或者”)。在你的情况下,它看起来像这样:
def x(num):
match num:
case 1 | 2:
# your codes...
case 3:
# your codes...
case _:
# This is the wildcard pattern and it never fails to match.
# call your function
x(6) # This will result in the wildcard pattern since case 6 isn't specified.
希望这对其他人有帮助!