Python中长字符串的折行处理

长字符串的情况例如:

news = '使用Pyhon支持的圆括号,方括号和花括号内的行延续。如果需要,你可以在表达式周围增加一对额外的圆括号,但是有时使用反斜杠看起来更好,恰当得缩进可以看出延续的行。'

print(news)

由于字符串太长,一个格子都无法完全显示。这样的可读性是非常不好的

可以使用反斜杠来折行:

news = '使用Pyhon支持的圆括号,\
方括号和花括号内的行延续。\
如果需要,你可以在表达式周围增加一对额外的圆括号,\
但是有时使用反斜杠看起来更好,\
恰当得缩进可以看出延续的行。'

print(news)

但是反斜杠在这里显得不太好看。

注意

实际上,在Python里面,两个字符串之间如果只有 空格或者 空格+换行符,那么Python会自动把这两个字符串拼成一个,例如:

news = '死神' '千年血战' '开播啦'
print(news)

也可以通过括号加换行连接:

news = ('死神'
    '千年血战'
    '开播啦')
print(news)

如果你的字符串是f表达式,那么每一行都需要加上 f:

anime = 'BLEACH'
number = 366

news = (f'I am watching {anime}, '
f'and it has {number} episodes.'
)

print(news)

输出如下:

I am watching BLEACH, and it has 366 episodes.

所以本文最开始原来的长句子可以改写为:

news = ('使用Pyhon支持的圆括号,'
    '方括号和花括号内的行延续。'
    '如果需要,'
    '你可以在表达式周围增加一对额外的圆括号,'
    '但是有时使用反斜杠看起来更好,'
    '恰当得缩进可以看出延续的行。')

print(news)

这里的折行只是方便写代码的人阅读,Python在执行的时候会重新把它拼成一个长字符串。Python不会给他加上换行符

格式化字符输出时可多行排列,示例代码如下:

anime = 'BLEACH'
num = 366

line = (
    '%s is a famous animation, '
    'and it has %d episodes.' 
) % (anime, num)

print(line)

输出如下:

BLEACH is a famous animation, and it has 366 episodes.

参考文献
1、一日一技:在Python中字符串折行

2、python3 折行

你可能感兴趣的:(Python,python,字符串,折行)