关于python:写一行长字符串的python方法

Pythonic way of writing a single-line long string

在程序中写一行但很长的字符串的方法是什么?

1
s = 'This is a long long string.'

此外,字符串可能需要用变量格式化:

1
s = 'This is a {} long long string.'.format('formatted')

现有解决方案1

1
2
3
s = 'This is a long '\
        'long '\
        'string.'

附加的尾随\字符使得重新格式化非常困难。用\连接两条线会产生错误。

现有解决方案2

1
2
3
s = 'This is a long \
long \
string.'

除了上述类似的问题,后面的行必须在最开始就对齐,这使得第一行缩进时可读性很差。


对于不需要字符的长字符串,请使用"字符串文字连接":

1
2
3
4
5
6
s = (
    'this '
    'is '
    'a '
    'long '
    'string')

输出:

This is a long string

它也可以格式化:

1
2
3
4
5
6
s = (
    'this '
    'is '
    'a '
    '{} long '
    'string').format('formatted')

输出:

This is a formatted long string


以下是PEP8指南:https://www.python.org/dev/peps/pep-0008/最大线路长度

在括号中换行。

对于长文本行,每行最多使用72个字符。

如果字符串中有任何运算符,请将换行符放在它们之前。

除此之外,只要你不隐瞒正在发生的事情,你想怎么做就取决于你了。