推荐对长变量赋值进行包装
我在我的 __init__()
方法里有以下的赋值:
self.seat, self.feet, self.backrest, self.stabilizer_bar, self.packaged = False
我想让它符合 PEP8 的规范,但这一行太长了。我考虑过每个赋值用一行,但这样打 False
五次感觉不太符合 Python 的风格。
有什么推荐的方法来换行处理上面的代码吗?
编辑:
根据你们的建议,我把 False * 5
改成了 False
。但是,我还是想知道怎么换行处理这行代码?
3 个回答
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的回答 中提到的那样。
0
如果你有一长串的任务要做,为什么不试试这个呢:
def __init__(self):
for prop in ['seat', 'feet', 'backrest', 'stabilizer_bar', 'packaged']:
setattr(self, prop, False)
2
试着把左边的部分用括号括起来,然后再进行分割。这样通常能解决问题。
def __init__(self):
(self.seat, self.feet, self.backrest,
self.stabilizer_bar, self.packaged) = False, False, False, False, False
我不知道在实际的生产代码中这样做会有什么效果,不过在PyScripter里快速运行一下是没有错误的。