确认Python 3.11.0-3.11.3中Enum与混合类的格式问题是否为已修复回归
关于Python 3.11 Enum混合类格式行为的确认
- 3.11.0至3.11.3版本中,实现了
__str__方法的Enum混合类格式输出为Foo.BAR而非自定义值的情况,属于已修复的回归问题。 - 3.11.4及以上版本(包括3.12.0+)中,Enum混合类的格式输出为自定义的
a|b,这是后续Python版本的预期标准行为,与Python 3.10的行为保持一致。
补充说明
Python 3.11迭代过程中,Enum模块的格式逻辑曾出现临时回归,导致混合类的自定义__str__方法未被正确调用,成员格式输出 fallback 到默认的枚举成员名格式。该问题在3.11.4版本中被修复,确保混合类的自定义字符串方法优先生效,恢复了向前兼容性。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

