import enum
class TestEnum( str,enum.Enum):
A = "a"
这里同时继承了 str 和 Enum ,
我测试了一下语句,
repr(TestEnum.A)
>>> ""
str(TestEnum.A)
>>> TestEnum.A'
TestEnum.A == 'a'
>>> True
这里的 TestEnum.A == 'a' 结果为 True , 是怎么判断的?
如果 TestEnum 是 dataclass 类的变量,在 json dumps 时也会自动转换,这是怎么做到的?
from dataclasses import dataclass, asdict
import json
@dataclass
class A:
a: TestEnum=None
test_a = A(TestEnum.A)
asdict(test_a)
>>> {'a': }
json.dumps(asdict(test_a))
>>> {"a": "a"}
python 版本 3.9.16
testenum, Python, Enum, asdict