在 Python 格式(f 字符串)字符串中,!r 是什么意思?

In Python format (f-string) strings, what does !r mean?

我明白了 python 3.6 中新的 f 字符串的作用,但是结尾 !r 怎么样,如下面的代码片段所示。

def __repr__(self):
    return (f'Pizza({self.radius!r}, 'f'{self.ingredients!r})')

它只是调用所提供值的 repr

f-strings 通常不需要它的用法,因为使用它们你可以做 repr(self.radius),这在其意图上可以说更清楚。

!r (repr), !s (str) 和 !a (ascii) 被保留只是为了方便兼容性使用 str.format 替代方案,您不需要将它们与 f 弦一起使用。