gpt4 book ai didi

python - 如何在 Python 中键入提示字符串的枚举

转载 作者:行者123 更新时间:2023-12-04 12:58:08 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Type annotations for Enum attribute

(5 个回答)


去年关闭。




我很好奇我是如何对字符串枚举进行类型提示的,例如:
[“关键字1”,“关键字2”]
我想要一些变量 v 等于这些字符串中的任何一个。我可以用文字的联合来实现这一点 - Union[Literal["keyword1"], Literal["keyword2"]] 但是如果这些关键字之一在 future 发生变化,将会使可维护性变得困难。
理想情况下,我想定义这样的事情:

class Keywords(enum):
keywordOne = "keyword1"
keywordTwo = "keyword2"
v: valueOf[Keywords] = Keywords.keywordOne.value # v = "keyword1"
但我不确定如何在 MyPy 中完成这样的事情

最佳答案

你快到了。看起来您正在寻找的是一个自定义的枚举对象,它本身是类型化的,然后键入指示该枚举使用的注释。像这样的东西:

from enum import Enum
from typing import Literal

class CustomKeyword(Enum):
keywordOne: Literal["keyword1"] = "keyword1"
keywordTwo: Literal["keyword2"] = "keyword2"

v: CustomKeyword = CustomKeyword.keywordOne
这不会给你预期的结果吗?

关于python - 如何在 Python 中键入提示字符串的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63465323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com