python - Python 打字:给定一组值
问题描述
我想将方法的参数键入为一组有限的有效值之一。所以基本上,我希望有typing
以下最小示例的等价物:
valid_parameters = ["value", "other value"]
def typed_method(parameter):
if not parameter in valid_parameters:
raise ValueError("invalid parameter")
我已经检查typing
过了,但我没有设法找到解决方案。也许我只是无法完全理解文档。有这样的解决方案吗?可以创建吗?
解决方案
此功能刚刚在 Python 3.8 中引入:typing.Literal
. 有关详细信息,请参阅PEP 586。
例子:
def typed_method(parameter: Literal["value", "other value"]):
pass
推荐阅读
- python-3.x - 如何根据另一列中的某些值创建新列
- python - 从 IPython.display 导入 GeoJSON 不适用于谷歌 colab
- python-3.x - findall 的奇怪行为
- python - Python - Openpyxl - 将公式添加到列并将公式重复到最后一行数据
- java - 从非常大的对象数组列表中查找所需数据
- python - 有没有办法将原始输入存储在应用于python中数据框的函数中?
- php - 在 PHP 中从 Google Drive v2 获取文件列表
- walmart-api - Walmart.io 身份验证问题 - 无法在 C# 中验证请求中的身份验证签名
- amazon-web-services - AWS 服务和 EventBridge 是否自动集成而无需基于角色或资源的策略?
- node.js - req.ip 返回冒号分隔值