类型:定义只能是某些字符串的类型?

问题描述 投票:3回答:1

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

例如假设我需要一个CondOperator类型,可以是以下任何字符串:

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

我希望有CondOperator = String['=', '>', '<', '>=', '<=', '<>', '!='],但是String中没有typing。所以这行不通。

如何定义这种类型?

python python-3.x typing
1个回答
-1
投票

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

from typing import Literal

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

mypy docs上的Literal很不错。

© www.soinside.com 2019 - 2024. All rights reserved.