f-string的表示方式与str()不同。

9 浏览
0 Comments

f-string的表示方式与str()不同。

我一直以为 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 调用的是哪些功能?

0