Mandis Quotes (aka retiring """ and ''')
David Fraser
davidf at sjsoft.com
Tue Oct 5 02:17:21 EDT 2004
Russell Nelson wrote:
> Jef Raskin (namedropping) has pointed me at a neat scheme for quoting
> arbitrary textual matter called "Mandis quotes". Since google is
> ignorant of the phrase, I presume that Jef made it up. It is
> disgustingly simple, and very Pythonesque. Here's how it works: If
> you have a string that doesn't have any single quotes in it, you
> surround the string by a pair of doubled single quotes. ''Like
> this''. No backslash interpolation. If you want a character in
> there, you put it in there (yes, I know, stand down your armies).
> Clearly, then, any character except a single quote can go into one of
> these strings. If you need to put a single quote in, then you put
> an arbitrary string in-between the single quotes which does NOT
> appear in the string. For example, "Bill's house" becomes
> 'x'Bill's house'x'.
>
> More formally, a mandis quote is a pair of tokens surrounding a
> completely arbitrary sequence of bytes. These tokens are comprised of
> a possibly null sequence of characters preceded by and followed by a
> single quote.
>
> To save time, here's why this pre-PEP proposal sucks in decreasing
> order of severity:
>
> o Python source is typically represented, not as an arbitrary string
> of ASCII or Unicode characters, but instead as a sequence of lines
> separated by the native line terminator (e.g. CRLF, LF, or CR).
>
> o Editors are not all up to the task of inserting arbitrary
> characters into strings (although they SHOULD).
>
> o Email cannot withstand arbitrary strings of characters (although
> quoted-printable suffices).
>
> o Some distinct Unicode characters are represented using the same
> glyph, so that information is lost when text gets printed (but
> that's more of a Unicode stupidism.)
>
> Obviously, the justification for it is that it eliminates ", ', r",
> r', """, and ''' from the syntax, replacing them by a single 'x' that
> suffices for everything. Makes the code easier to read (only one
> visual element), easier to parse, and easier to write, because you
> don't need to decide which literal method to use.
And distinctly ugly. I much prefer """ or ''' :-)
More information about the Python-list
mailing list