【发布时间】:2021-11-10 18:43:50
【问题描述】:
尝试学习 Python 3.10 模式匹配。阅读8.6.4.9. Mapping Patterns后尝试了这个例子
>>> match 0.0:
... case int(0|1):
... print(1)
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
TypeError: called match pattern must be a type
>>>
特别是关于内置类型的注释,包括 int。我应该如何编写代码来测试整数值 0 或 1(文档中的示例)而不出现此错误?
【问题讨论】:
-
我无法重现该错误。在 Python 3.10 控制台上执行您的确切行不会打印任何内容。然后,将 0.0 更改为 0 或 1 打印 1。我不确定您是如何得到该错误的,您的代码应该可以正常工作。
标签: pattern-matching python-3.10