是否有可能在Python中打破多行

就像C一样,你可以将一条长线分成多条短线。 但在Python中,如果我这样做,会出现缩进错误......是否有可能?


来自PEP 8 - Python代码样式指南:

包装长行的首选方式是在括号,括号和大括号内使用Python的隐含行连续。 如有必要,您可以在表达式周围添加一对额外的括号,但有时使用反斜杠看起来会更好。 确保适当缩进续行。

隐式连续线的例子:

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

关于二元运算符的换行符的话题,它继续说: -

几十年来,推荐的方式是在二元操作员之后打破。 但是这会以两种方式伤害可读性:操作员倾向于分散在屏幕上的不同列上,并且每个操作员都从操作数移动到前一行。

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

显式续行的例子:

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

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

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的隐含行连续。 如有必要,您可以在表达式周围添加一对额外的括号,但有时使用反斜杠看起来会更好。 确保适当缩进续行。 破解二元运算符的首选位置在运算符之后,而不是在它之前。


如果你想为变量分配一个long str,你可以这样做:

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

不要添加任何逗号,否则你会得到一个包含许多strs的元组!

链接地址: http://www.djcxy.com/p/6569.html

上一篇: Is it possible to break a long line to multiple lines in Python

下一篇: Emacs bulk indent for Python