【发布时间】:2021-07-23 18:30:20
【问题描述】:
在 python 3.9 中看到(很棒的)新的 Annotated 类型注释(可变类型约束!)后,我急忙升级,以便检查它们。
(https://docs.python.org/3/library/typing.html?highlight=valuerange)
但是当我尝试使用 ValueRange[min,max] 或 MaxLen[n] 时 - 我似乎无法在任何地方找到它们..
PyCharm 没有为我提供任何帮助,而且它们似乎不在我所期望的 typing 模块中。
文档以它们为特色,但我在网上找不到任何关于如何实际导入它们的参考。
他们还没有使用该语言吗?还是只是在一些我不知道的新模块中?
【问题讨论】:
-
ValueRange 不只是一个例子吗?它只出现在这种情况下,它本身并没有记录在案。
-
你可能是对的。我找不到任何示例声明,因此假设它是 stdlib 中的内容。那么约束是动态的吗?如果是这样,我将如何自己声明这些?或者,我如何以其他方式注释对列表大小/值的约束?
-
例子的重点是它没有定义,第二个参数是元数据,在没有具体逻辑的情况下被忽略。
-
好吧,我也很兴奋。看到一个 ValueRange 实现的例子会很酷。
-
完整的示例解决方案已发布在this other question。
标签: python python-3.x types