On 11/12/05, Raymond Hettinger <[EMAIL PROTECTED]> wrote: > > The motivation > > is to be able to write multilined strings easily without damaging the > > visual indentation of the source code > > That is somewhat misleading. We already have that ability. What is > being proposed is moving existing code to a different namespace. So the > motivation is really something like: > > I want to write > s = s.dedent() > because it is too painful to write > s = textwrap.dedent(s) > Sorry, I didn't mean to mislead. I wrote "easily" - I guess using the current textwrap.dedent isn't really hard, but still, writing:
import textwrap ... r = some_func(textwrap.dedent('''\ line1 line2''')) Seems harder to me than simply r = some_func('''\ line1 line2'''.dedent()) This example brings up another reason why "dedent" us a method is a good idea: It is a common convention to indent things according to the last opening bracket. "dedent" as a function makes the indentation grow in at least 7 characters, and in 16 characters if you don't do "from textwrap import dedent". Another reason to make it a method is that I think it focuses attention at the string, which comes first, instead of at the "textwrap.dedent", which is only there to make the code look nicer. And, a last reason: making dedent a built-in method makes it a more "official" way of doing things, and I think that this way of writing a multilined string inside an indented block is really the best way to do it. Noam _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com