长变量赋值推荐包装

时间:2014-03-16 09:13:59

标签: python pep8 linewrap

我的__init__()方法中有以下作业:

self.seat, self.feet, self.backrest, self.stabilizer_bar, self.packaged = False

我想让它符合PEP8,但线路太长了。我考虑过为每个分配使用一行,但是输入False 5次并不感觉pythonic。

上面包含这条线的推荐方法是什么?

修改

由于您的意见,我已将False * 5更改为False。但是,我怎么包裹这条线?

3 个答案:

答案 0 :(得分:2)

尝试将左侧包裹在括号中,然后将其拆分。这通常有效。

def __init__(self):
    (self.seat, self.feet, self.backrest, 
    self.stabilizer_bar, self.packaged) = False, False, False, False, False

我不知道它在实际生产代码中的表现如何,但在PyScripter中快速运行不会返回任何错误。

答案 1 :(得分:0)

如果您有很长的作业列表,为什么不尝试:

def __init__(self):
    for prop in ['seat', 'feet', 'backrest', 'stabilizer_bar', 'packaged']:
        setattr(self, prop, False)

答案 2 :(得分:0)

在这种特定情况下,我会逐行编写作业:

self.seat = False
self.feet = False
self.backrest = False
self.stabilizer_bar = False
self.packaged = False

现在假设而不是False你有一个返回元组的函数,我会这样写:

(self.seat, self.feet, self.backrest,
 self.stabilizer_bar, self.packaged) = my_function()

,如TrueError's answer