python 3.9 中的类型注释约束(`ValueRange`/`MinLen` 等)在哪里?

Jon*_*vin 7 python types python-3.x

在看到Annotatedpython 3.9 中的(很棒的)新类型注释(可变类型约束!)后,我急忙升级以便检查它们。(https://docs.python.org/3/library/typing.html?highlight=valuerange

但是当我尝试使用ValueRange[min,max]or MaxLen[n]- 我似乎无法在任何地方找到它们.. PyCharm 没有为我提供任何帮助,而且它们似乎不在typing我期望它们的模块中。

文档以它们为特色,但谷歌搜索我在网上找不到任何关于如何实际导入它们的参考。

他们还没有语言吗?或者只是在我不知道的一些新模块中?

Dan*_*mar 2

正如其他人所说,这些类只是可以注释的示例。注释只是获取某个变量并通过您创建的类(MaxLen、ValueRange 等)向它们添加一些“提示”。

然后,您可以使用 获取与每个参数相关的“提示” get_type_hints,并对其命中的每个参数进行抓取并进行您想要的检查(这不是注释的意图,尽管我也发现它很有趣)。您在另一篇文章中有完整的示例。