Pythonic编写单行长字符串的方式

时间:2016-11-28 03:27:21

标签: python string

在程序中编写单行但长字符串的Pythonic方法是什么:

s = 'This is a long long string.'

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

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

现有解决方案1 ​​

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

其他尾随\字符使重新格式化变得非常困难。使用\加入两行会出错。

现有解决方案2

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

除了上面的类似问题之外,后续行必须在最开始时对齐,这在第一行缩进时会给你带来难以理解的可读性。

2 个答案:

答案 0 :(得分:7)

对于您不想要\ n字符的长字符串,请使用'字符串文字连接':

s = (
    'this '
    'is '
    'a '
    'long '
    'string')

输出:

  

这是一个长字符串

它也可以格式化:

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

输出:

  

这是一个格式化的长字符串

答案 1 :(得分:1)

这是PEP8指南: https://www.python.org/dev/peps/pep-0008/#maximum-line-length

在括号中包裹长行。

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

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

除此之外,只要你不模糊正在发生的事情,它就取决于你想要的方式。