在Python中可以将长行拆分成多行吗?

694 投票
7 回答
1210357 浏览
提问于 2025-04-16 07:01

就像在C语言中一样,你可以把一行很长的代码分成几行短的代码。但是在Python中,如果我这样做,就会出现缩进错误……这可能吗?

7 个回答

51

如果你想把一个很长的字符串赋值给一个变量,你可以这样做:

net_weights_pathname = (
    '/home/acgtyrant/BigDatas/'
    'model_configs/lenet_iter_10000.caffemodel')

记得不要加任何逗号,否则你会得到一个包含多个字符串的元组哦!

251

有很多种方法可以做到这一点。

1). 一种较长的写法:

>>> def print_something():
         print 'This is a really long line,', \
               'but we can make it across multiple lines.'

2). 使用括号:

>>> def print_something():
        print ('Wow, this also works?',
               'I never knew!')

3). 再次使用 \

>>> x = 10
>>> if x == 10 or x > 0 or \
       x < 100:
       print 'True'

引用 PEP8 的内容:

处理长行的推荐方法是使用 Python 的隐式行续写,也就是在括号、方括号和大括号内。如果需要的话,可以在一个表达式周围加一对额外的括号,但有时候使用反斜杠看起来更好。确保继续的那一行缩进得当。对于二元运算符,推荐在运算符 后面 断行,而不是前面。

773

来自PEP 8 - Python代码风格指南

处理长行代码时,推荐的方式是在括号、方括号和大括号内使用Python的隐式换行。如果需要,你可以在表达式外加一对额外的括号,但有时候使用反斜杠会看起来更好。确保继续的那一行缩进得当。

隐式换行的例子:

a = some_function(
    '1' + '2' + '3' - '4')

关于二元运算符周围的换行,它还提到:

几十年来,推荐的风格是在二元运算符后换行。但这样做会影响可读性,主要有两个问题:运算符会分散在屏幕的不同列上,而且每个运算符会离开它的操作数,移到上一行。

在Python代码中,可以在二元运算符前或后换行,只要在本地遵循一致的约定。对于新代码,建议使用Knuth的风格(在运算符换行)。

显式换行的例子:

a = '1'   \
    + '2' \
    + '3' \
    - '4'

撰写回答