在Python中包含具有长类/属性名称的行

时间:2014-08-05 17:40:22

标签: python wrapping pep8

我想将以下行包装为PEP兼容,我相信它们都是有效的。我听说有些人根本不会推荐反斜杠,哪一个对你来说不那么难看?

1

    bake_occ_static_pass.compute_behavior = (
        bake_occ_static_pass.original_compute_behavior)

2

    bake_areas_animated_pass.compute_behavior = \
        bake_areas_animated_pass.original_compute_behavior

提前致谢。

3 个答案:

答案 0 :(得分:3)

根据PEP8

  

包装长行的首选方法是在括号,括号和括号内使用Python隐含的行继续。通过在括号中包装表达式,可以在多行中分割长行。这些应该优先使用反斜杠进行续行。

反斜杠适用的情况仅在会导致语法问题或真正奇怪的换行符使用括号时(例如withassert语句)。 e.g。

with something('foo') as some_name, \
    something_else('bar') as some_other_name:

应该优先于:

with something('foo'
    ) as some_name, something_else(
    'bar') as some_other_name:

答案 1 :(得分:1)

PEP似乎更倾向于使用括号而不是反斜杠,并且在这种情况下看到行中没有其他括号使其更加混乱,我建议使用括号而不是反斜杠。

答案 2 :(得分:1)

1是首选。引用神的话语,又名PEP8

  

包装长行的首选方法是使用Python的暗示   括号,括号和括号内的行继续。 排长队   可以通过包装表达式来分解多行   括号。这些应该优先使用反斜杠   换行。

     

反斜杠有时可能仍然合适。例如,多个with - 多个语句   不能使用隐式延续,所以反斜杠是可以接受的。

即使对于importPEP 328添加了带括号的表单,如

from Tkinter import (Tk, Frame, Button, Entry, Canvas, Text,
    LEFT, DISABLED, NORMAL, RIDGE, END)

更漂亮
from Tkinter import Tk, Frame, Button, Entry, Canvas, Text, \
    LEFT, DISABLED, NORMAL, RIDGE, END