[Python-Dev] Strings: '\012' -> '\n'
Guido van Rossum
guido@python.org
Mon, 15 Jan 2001 22:24:04 -0500
> I don't know whether this is going to be obvious or controversial,
> but here goes. Most of the time we're used to seeing a newline as
> '\n', not as '\012', and newlines are typed in as '\n'.
>
> A newcomer to Python is likely to do
>
> >>> 'hello\n'
> 'hello\012'
>
> and ask "what's \012?" -- whereupon one has to explain that it's an
> octal escape, that 012 in octal equals 10, and that chr(10) is
> newline, which is the same as '\n'. You're bound to run into this,
> and you'll see \012 a lot, because \n is such a common character.
> Aside from being slightly more frightening, '\012' also takes up
> twice as many characters as necessary.
>
> So... i'm submitting a patch that causes the three most common
> special whitespace characters, '\n', '\r', and '\t', to appear in
> their natural form rather than as octal escapes when strings are
> printed and repr()ed.
+1 on the idea; no time to study the patch tonight.
--Guido van Rossum (home page: http://www.python.org/~guido/)