Raw String Question
google at mrabarnett.plus.com
Fri Mar 13 15:28:50 CET 2009
andrew cooke wrote:
> MRAB wrote:
>> andrew cooke wrote:
>>> MRAB wrote:
>>>> The other special case is with \u in a Unicode string:
>>>> >>> ur"\u0041"
>>> this isn't true for 3.0:
>>> (there's no "u" because it's a string, not a bytes literal)
>>> and as far as i can tell, that's correct behaviour according to the
>> From the 3.0 docs "Even in a raw string, string quotes can be escaped
>> with a backslash, but the backslash remains in the string". Seems a bit
>> pointless to me. I would've preferred the backslash to have no special
>> behaviour at all. Simpler, IMHO...
> not sure what you are implying here. i understood "string quotes" in the
> text you quote (which i had read) to mean \" and \', which is the
> behaviour the original poster saw (and why you cannot end a string with a
> however, you seem to think "string quotes" are \u escapes?
Huh? I don't know why you think that.
> did you see:
> As a result, '\U' and '\u' escapes in raw strings are not
> treated specially.
> a few paragraphs above?
My point is this:
In Python 3.x a backslash doesn't have a special meaning in a raw
string, except that it can prevent a following quote from ending the
string, but the backslash is still included. Why? How useful is that? I
think it would've been simpler if a backslash had _no_ special effect,
not even with a following quote. If you want a quote then either use the
other quote character as the delimiter or use a triple-quoted raw
More information about the Python-list