On Tue, 21 Oct 2008 21:58:57 +1300, Lawrence D'Oliveiro wrote: > If triple-quoted strings had the Python-nature, then they would take > indentation into account. Thus: > > """this > is a > multi-line > string.""" > > would be equivalent to > > "this\n is a\n multi-line\nstring." > > and not > > "this\n is a\n multi-line\n string."
I disagree. Triple-quoted strings are exactly the same as other strings: they capture *exactly* what you put in them, and don't add or subtract characters which the language designer imagines might be irrelevant for some people some of the time. " xyz " gives the exact string " xyz " and not "xyz", no matter how convenient such behaviour would be for those who want only "xyz". If you want to strip whitespace from the string, you can strip whitespace from the string yourself. Similarly """abc xyz """ results in the exact string you put inside the quotes. Python doesn't try to guess whether or not the spaces are significant. If you want to strip whitespace, or any other character, you can do so yourself. In other words, triple-quoted strings absolutely DO have the Python- nature, because they refuse to guess what the programmer intends to do with the string later. If you don't want the spaces, either don't put them in in the first place, or remove them yourself. Don't expect Python to guess whether you want the spaces or not. -- Steven -- http://mail.python.org/mailman/listinfo/python-list