4 ms·
> The most common way to split a string in lines is using this concatenation formula. Is it really? I tend to avoid it in favour of ””” or ‘\n’.join(<list of l
by nojs 5y ago
> The most common way to split a string in lines is using this concatenation formula.
Is it really? I tend to avoid it in favour of ””” or ‘\n’.join(<list of lines>), because it looks like a mistake.
Triple quotes are kind of annoying if the string is indented, but you can just not indent the string to avoid the whitespace.
- housecarpenter 5y agoI use it, personally. The other two options I find too aesthetically displeasing: not indenting the string looks bad when it's within an indented block of code, and using join and putting the strings in a list is just too much boilerplate. I will use """ if I don't care about the extra space put at the start of each line by the indentation.
- Spivak 5y agoI think you want textwrap.dedent https://docs.python.org/3/library/textwrap.html#textwrap.dedent https://docs.python.org/3/library/textwrap.html#textwrap.ded... or inspect.cleandoc. https://docs.python.org/3.8/library/inspect.html#inspect.cleandoc https://docs.python.org/3.8/library/inspect.html#inspect.cle...
- deleted 5y ago[deleted]
- nostoc 5y agoBoth of your solutions are great but don't fully cover the use case. They are useful for multiline strings, but implicit concatenation is also often used to break long strings that may not have newlines.
- boublepop 5y agoIn y opinion that would be better served with ‘’.join( ‘hello’, ‘world’) No footgun potential, and as others have mentioned the “good usage” would often be bad simply because it ends up looking like a mistake even if it’s intentional.