On Sat, Aug 13, 2016 at 8:38 PM, Lawrence D’Oliveiro <lawrenced...@gmail.com > wrote:
> Python allows a single string literal to cross multiple lines, provided it > begins and ends with three quote characters, e.g. > > s = """this string continues > on the next line.""" > > There is a drawback with this: any whitespace at the start of the > continuation line is included as part of the string: > > >>> print(s) > this string continues > on the next line. > > I think you meant both trailing characters and starting characters. The way I solve it, and I still find that extremely ugly, is s = ("this string continues " + "substring continues") The blackslash is a method I used to do but I start regretting. I have ran into issue with blackslash before, can't remember but, but most likely with escaping. It's ugly when I am in the middle of a deep indented function call. Imagine I am writing an exception def foo(...) .... raise SomeErrorKindofLong("This is an exception and I need to write something long {v1} so I need to wrap around it {v2}".format(v1=v1, v2=v2)) You get the point... by wrapping, I ended up breaking this into multiple lines. In some cases I would build the string before calling the exception. That seems a little tangent, but relevant. The problem with this proposal is that could break existing application. It's impossible to switch to this convention. John -- https://mail.python.org/mailman/listinfo/python-list