在最近的一个问题中 (Gathering numerical data from a string input),我在想这是否是一个可接受的答案。我认为这会更好地成为一个问题。这种表示方式作为常量集合是否可接受?或者它是枚举的误用吗?在Python中将相同的值分配给不同属性是否会有任何意外后果?
from enum import Enum
class CreditRating(Enum):
AAA = 0.01
A = 0.1
B = 0.1
creditRate = input("Please enter credit rating:")
print(CreditRating[creditRate].value)
Enum
和pydantic
一起定义JSON的str
选择,然后在应用程序中使用枚举值。在这种情况下,提供'{"credit_rating":"AAA"}'
并让Pydantic将其转换为assert input.credit_rating.value == 0.01
。但是似乎Python和Pydantic密谋在一起,即使在不同版本的Python和现在的Pydantic 2之后进行了几次Enum
改进,我仍然无法直接做到这一点,我必须执行以下操作:https://dev59.com/UX8RtIcB2Jgan1znAPLa 这肯定是一个常见的用例。 - NeilG