如何使用输入模块创建可以是某些字符串的类型?
E.g。假设我需要一个类型CondOperator
,它可以是以下任何字符串:
['=', '>', '<', '>=', '<=', '<>', '!=']
我希望CondOperator = String['=', '>', '<', '>=', '<=', '<>', '!=']
,但String
中没有typing
。所以这不起作用。
如何定义这种类型?
答案 0 :(得分:2)
Python 3.8在Literal
中引入了typing
类型。也可以通过Python早期版本中的typing_extensions
包进行访问。使用Literal
,您可以将类型定义为:
from typing import Literal
CondOperator = Literal['=', '>', '<', '>=', '<=', '<>', '!=']
Literal
上的mypy docs很不错。