【发布时间】:2022-08-12 05:59:16
【问题描述】:
我一直认为 f-strings 调用了__str__ 方法。也就是说,f\'{x}\' 始终与str(x) 相同。但是,有了这个类
class Thing(enum.IntEnum):
A = 0
f\'{Thing.A}\' 是 \'0\' 而 str(Thing.A) 是 \'Thing.A\'。如果我使用enum.Enum 作为基类,则此示例不起作用。
f-strings 调用什么功能?
-
在 Python3.11 中,
str()输出已更改为匹配IntEnum、IntFlag和新的StrEnum的.format()方法 - 所以在上述情况下f\'{Thing.A}\'和str(Thing.A)将结果为0。