[Python-Dev] PEP 3101 Update

Steven Bethard steven.bethard at gmail.com
Mon May 8 03:14:59 CEST 2006


On 5/7/06, Edward Loper <edloper at gradient.cis.upenn.edu> wrote:
> Talin wrote:
> >      Braces can be escaped using a backslash:
> >
> >          "My name is {0} :-\{\}".format('Fred')
> >
> >      Which would produce:
> >
> >          "My name is Fred :-{}"
>
> Do backslashes also need to be backslashed then?  If not, then what is
> the translation of this:?
>
>      r'abc\{%s\}' % 'x'

I believe the proposal is taking advantage of the fact that '\{' is
not interpreted as an escape sequence -- it is interpreted as a
literal backslash followed by an open brace:

>>> '\{'
'\\{'
>>> '\\{'
'\\{'
>>> r'\{'
'\\{'

Thus, for 'abc\{0\}'.format('x'), you should get an error because
there are no replacement fields in the format string.

STeVe
--
Grammar am for people who can't think for myself.
        --- Bucky Katt, Get Fuzzy


More information about the Python-Dev mailing list