有没有一种方法可以在Python中对函数或变量进行类型注释,从而允许从枚举的属性形成枚举或文字?
from enum import Enum
from typing import Literal
class State(str, Enum):
ENABLED = "enabled"
DISABLED = "disabled"
def is_enabled(state: State | Literal["enabled", "disabled"]) -> bool:
if isinstance(state, str):
state = State(state)
return state == State.ENABLED
Run Code Online (Sandbox Code Playgroud)
换句话说,有没有一种方法可以获取别名而Literal["enabled", "disabled"]不必重写枚举的所有键?