在Python中可以将长行拆分成多行吗?
就像在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
处理长行代码时,推荐的方式是在括号、方括号和大括号内使用Python的隐式换行。如果需要,你可以在表达式外加一对额外的括号,但有时候使用反斜杠会看起来更好。确保继续的那一行缩进得当。
隐式换行的例子:
a = some_function(
'1' + '2' + '3' - '4')
关于二元运算符周围的换行,它还提到:
几十年来,推荐的风格是在二元运算符后换行。但这样做会影响可读性,主要有两个问题:运算符会分散在屏幕的不同列上,而且每个运算符会离开它的操作数,移到上一行。
在Python代码中,可以在二元运算符前或后换行,只要在本地遵循一致的约定。对于新代码,建议使用Knuth的风格(在运算符前换行)。
显式换行的例子:
a = '1' \
+ '2' \
+ '3' \
- '4'