On Wed, May 23, 2018 at 11:45 PM, MRAB <pyt...@mrabarnett.plus.com> wrote:
>>> def func(): >>> foobar >>> data = /// s2 >>> first line >>> last line >>> foobar >>> > Instead of the "s2", etc: > > def func(): > foobar > data = >> : > first line > last line > foobar > > Leading indentation to the level of the first line would be stripped. > > If you want additional indentation, then provide a string literal: > > def func(): > foobar > data = >> ' ': > first line > last line > foobar Such approach has its benefits. and ">>" looks nice. So the benefit here is that you make it more compact - no parameters needed. But as you see, it just cannot parse the text in case of positive indent. Or otherwise I need to edit the text and then, if say I want to paste it back elsewhere - edit again. This small nuance can get in the way. Also semantically - I find it a bit of implication - it's something automatic. > As the last line also ends with '\n', the result should be 'first line\nlast > line\n'. Sorry, I can't see how this would be beneficial? This would mean every string will have trailing \n. Even if it is one word. Maybe it could help in some cases, for example if you write a code generator and then append to a file consequently. But in general I disagree with this approach. Also it is counter-intuitive - for example if I open a text editor and type "a", save it and then read it with python script - then I get only "a" but not "a\n". But maybe I am missing something. -- https://mail.python.org/mailman/listinfo/python-list