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


I get what the new f strings in python 3.6 do, but what about the ending !r as found in the code snip below.

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



It just calls the repr of the value supplied.

It’s usage is generally not really needed with f-strings since with them you can just do repr(self.radius) which is arguably more clear in its intent.

!r (repr), !s (str) and !a (ascii) were kept around just to ease compatibility with the str.format alternative, you don’t need to use them with f-strings.

Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.