[Python-ideas] Multi-line strings that respect indentation
eric at trueblade.com
Sat Nov 6 00:55:56 CET 2010
On 11/5/10 7:48 PM, Carl M. Johnson wrote:
> On Fri, Nov 5, 2010 at 10:37 AM, Terry Reedy<tjreedy at udel.edu> wrote:
>> On 11/5/2010 10:45 AM, Nick Coghlan wrote:
>>> I do use the textwrap.dedent workaround myself, but I think it is
>>> sufficiently flawed for a proper fix to be worth considering:
>>> 1. It doesn't work for docstrings (as Tal pointed out)
>> This does:
>> def f(x):
>> "Am I a docstring\n"\
>> "even though I start in pieces?\n"\
>> "Oh, x is a dummy param\n"
>> # prints 3 lines, but not without '\' escape at line ends
> Can the parser be changed to do automagic joining on that the same way
> that it auto joins ("a"
> "b")? I can't imagine any scenario where anyone would rely on starting
> the line after a docstring with a string literal, since the only
> plausible run time effect it might have would be to intern some
> strings for later. Even "string".method() wouldn't have any effect
> without something like x = in front of.
>>> def f(x):
... ("Am I a docstring\n"
... "even though I start in pieces?\n"
... "Oh, x is a dummy param\n")
Am I a docstring
even though I start in pieces?
Oh, x is a dummy param
More information about the Python-ideas