如何在 Python 中键入提示枚举

在 Python 中键入提示枚举

How to type hint Enums in Python

使用枚举类在 Python 中键入枚举提示,例如
def get_value_from_enum(size: Sizes):. 然后,您可以在函数体中访问枚举的任何成员,而不会收到警告。

主程序
from enum import Enum class Sizes(Enum): SMALL = 1 MEDIUM = 2 LARGE = 3 def get_value_from_enum(size: Sizes): print(size.name) # 👉️ MEDIUM print(size.value) # 👉️ 2 return size.value result = get_value_from_enum(Sizes.MEDIUM) print(result) # 👉️ 2

我们使用Sizes枚举类来键入枚举提示。

另一种方法是使用Literal类型来指定函数参数可以是枚举中的成员之一。

主程序
from typing import Literal from enum import Enum class Sizes(Enum): SMALL = 1 MEDIUM = 2 LARGE = 3 def get_value_from_enum(size: Literal[Sizes.SMALL, Sizes.MEDIUM, Sizes.LARGE]): print(size.name) # 👉️ MEDIUM print(size.value) # 👉️ 2 return size.value result = get_value_from_enum(Sizes.MEDIUM) print(result) # 👉️ 2

文字类型提示可用于向类型检查器指示函数参数的值等于提供的文字(或示例中的几个文字之一)。

发表评论