Egi*_*ius 78 python match switch-statement python-3.10
我正在尝试在类似于下面所示的函数中使用多个案例,以便我能够使用 python 3.10 中的匹配案例来执行多个案例
def sayHi(name):
match name:
case ['Egide', 'Eric']:
return f"Hi Mr {name}"
case 'Egidia':
return f"Hi Ms {name}"
print(sayHi('Egide'))
Run Code Online (Sandbox Code Playgroud)
即使我删除了方括号,这只是返回None
而不是消息。
khe*_*ood 136
根据\n What\xe2\x80\x99s New In Python 3.10、\n PEP 636和\n文档,\n您使用了|
Between 模式:
case \'Egide\' | \'Eric\':\n
Run Code Online (Sandbox Code Playgroud)\n
Bla*_*ake 27
您可以使用|
(或) 来替换['Egide', 'Eric']
with 'Egide' | 'Eric'
,但您也可以将属于可迭代对象或容器的元素与守卫匹配,如下所示:
CONSTANTS = ['a','b', ...] # a (possibly large) iterable
def demo(item):
match item:
case item if item in CONSTANTS:
return f"{item} matched"
case _:
return f"No match for {item}"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
59496 次 |
最近记录: |