peter at engcorp.com
Mon Mar 6 18:00:37 CET 2006
> I'm trying to get a complete grip on %r. Is it true that the two programs
> a = '*anything the parser accepts*'
> print '%r' % a
> a = r'*anything the parser accepts*'
> print "'%s'" % a
> always produce the same output, where *anything the parser accepts* can be
> replaced with, well, anything the parser accepts?
"Always produce the same output?" Well, hardly, as even a token test
>>> a = 'testing\'this'
>>> print '%r' % a
>>> b = r'testing\'this'
>>> print "'%s'" % b
Do you realize that '%r' % a just outputs whatever repr(a) returns? And
that '%s' % a just outputs whatever str(a) returns?
More information about the Python-list