[Python-ideas] Idea for new multi-line triple quote literal

Guido van Rossum guido at python.org
Mon Jul 1 03:57:43 CEST 2013


On Sun, Jun 30, 2013 at 6:47 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> On 1 July 2013 11:09, Steven D'Aprano <steve at pearwood.info> wrote:
>> but in either case, I think the choice of --- as delimiter is ugly and
>> arbitrary, and very likely is ambiguous (currently, x = ---1 is legal code).
>> Similar suggestions to this have been made many times before, you should
>> search the archives:
>>
>> http://mail.python.org/mailman/listinfo/python-ideas
>
> I'm still partial to the idea of offering textwrap.indent() and
> textwrap.dedent() as string methods.
>
> 1. You could add a ".dedent()" at the end of a triple quoted string
> for this kind of problem. For a lot of code, the runtime cost isn't an
> issue.
> 2. A JIT would definitely be able to avoid recalculating the result every time
> 3. Even CPython may eventually gain constant folding for that kind of
> method applied directly to a string literal
> 4. I dedent and indent long strings more often than I capitalize,
> center, tab expand, or perform various other operations which already
> grace the str type as methods.

That's a compelling argument. Let's do it. (Assuming the definition of
exactly how to indent or dedent is not up for discussion -- if there
are good reasons to disagree with textwrap now's the time to bring it
up.)

-- 
--Guido van Rossum (python.org/~guido)


More information about the Python-ideas mailing list