68

我得到了 python 3.6 中新的 f 字符串的作用,但是在下面的代码片段中找到的结尾 !r 呢。

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

1 回答 1

85

它只是调用repr提供的值。

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

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

于 2017-06-28T11:12:59.987 回答