输入:定义一个只能是某些字符串的类型?

时间:2018-04-15 10:55:34

标签: python python-3.x typing

如何使用输入模块创建可以是某些字符串的类型?

E.g。假设我需要一个类型CondOperator,它可以是以下任何字符串:

['=', '>', '<', '>=', '<=', '<>', '!=']

我希望CondOperator = String['=', '>', '<', '>=', '<=', '<>', '!='],但String中没有typing。所以这不起作用。

如何定义这种类型?

1 个答案:

答案 0 :(得分:2)

Python 3.8在Literal中引入了typing类型。也可以通过Python早期版本中的typing_extensions包进行访问。使用Literal,您可以将类型定义为:

from typing import Literal

CondOperator = Literal['=', '>', '<', '>=', '<=', '<>', '!=']

Literal上的mypy docs很不错。