繁体   English   中英

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

[英]typing: Define a type that can only be certain strings?

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

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

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

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

如何定义这种类型?

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

from typing import Literal

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

Literal上的mypy 文档很好读。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM