125

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})')
codeforester
  • 39,467
  • 16
  • 112
  • 140
nk abram
  • 1,531
  • 2
  • 11
  • 19

1 Answers1

145

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.

Dimitris Fasarakis Hilliard
  • 150,925
  • 31
  • 268
  • 253