On Thu, 4 Nov 2010 20:21:37 -0400 Daniel da Silva ddasilva@umd.edu wrote:
On several occasions I have run into code that will do something like the following with a multiline string:
def some_func():
x, y = process_something() val = """
<xml> <myThing> <val>%s</val> <otherVal>%s</otherVal> </myThing>
</xml> > """ % (x, y) > > return val >
To me, this is rather ugly because it messes up the indentation of some_func(). Suppose we could have a multiline string, that when started on a line indented four spaces, ignores the first four spaces on each line of the literal when creating the actual string?
In this example, I will use four quotes to start such a string. I think the syntax for this could vary though. It would be something like this:
def some_func():
x, y = process_something() val = """" <xml> <myThing> <val>%s</val> <otherVal>%s</otherVal> </myThing> </xml> """" % (x, y) return val
That way, the indentation in the function would be preserved, making everything easy to scan, and the indentation in the output would not suffer.
What do you all think?
I'm +++ for this. Even more in python because one has no choice about indentation. But I posted the same proposal some time ago (together with a note that there is no need for """...""" around multiline strings), and it had no apparent success.
Denis -- -- -- -- -- -- -- vit esse estrany ☣
spir.wikidot.com