Python 键入 : Given Set of Values

标签 python typing

我想将方法​​的参数键入为一组有限的有效值之一。所以基本上,我希望有相当于以下最小示例的打字:

valid_parameters = ["value", "other value"]

def typed_method(parameter):
    if not parameter in valid_parameters:
        raise ValueError("invalid parameter")

我已经检查了打字,但我没有找到解决方案。也许我只是无法完全理解文档。有这样的解决办法吗?可以创建吗?

最佳答案

此功能刚刚在 Python 3.8 中引入:typing.Literal 。请参阅PEP 586了解详情。

示例:

def typed_method(parameter: Literal["value", "other value"]):
    pass

关于Python 键入 : Given Set of Values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58521577/

相关文章:

Python正则表达式部分提取

python - 使用预先定义的自定义函数覆盖函数内的函数

python - 使用变量在 python 中调用 nc/netcat

python - 检查数据类的通用 python 类型

haskell - Haskell 中不同数据类型的比较

python - 如何在 Python 中对正则表达式进行测试?

python - 'pydoc -w EXPRESSIONS' 不起作用,但 'pydoc EXPRESSIONS' 起作用。为什么? (所有帮助主题均大写)

C++ 未知变量类型。我应该使用模板吗?

Python 输入元组

元组中的python TypeVar重置