在 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
文字类型提示可用于向类型检查器指示函数参数的值等于提供的文字(或示例中的几个文字之一)。