我有以下命令:
DataFrame = df0.join(df1, how = 'outer').join(df2, how = 'outer').join(df3, how = 'outer').....
我知道我可以把它分开,就像这样:
dataFrame = df0.join(df1, how = 'outer')
dataFrame = dataFrame.join(df2, how = 'outer')
dataFrame = dataFrame.join(df3, how = 'outer')
...
但是我不确定PEP8对此有什么说法,不超过79字符限制的首选方法是什么?
答案 0 :(得分:2)
在点后插入换行符。如果用paratheses包围整个语句,你甚至不需要尾随反斜杠。
dataFrame = (df0.
join(df1, how='outer').
join(df2, how='outer').
join(df3, how='outer'))
答案 1 :(得分:1)
包装长行的首选方式是在括号,括号和大括号内使用Python的隐含的行延续。通过在括号中包装表达式,可以在多行中分割长行。这些应该优先使用反斜杠进行续行。
反斜杠有时可能仍然合适。例如,long,多个
with
- 语句不能使用隐式延续,因此可以接受反斜杠:with open('/path/to/some/file/you/want/to/read') as file_1, \ open('/path/to/some/file/being/written', 'w') as file_2: file_2.write(file_1.read())
另一个这样的案例是
assert
语句。确保适当缩进续行。打破二元运算符的首选位置是在运算符之后,而不是在它之前。
即。为你的例子:
dataFrame = (df0.join(df1, how='outer').
join(df2, how='outer').
join(df3, how='outer'))
答案 2 :(得分:-1)
您不应该仅仅为了满足PEP而创建虚拟变量。 但是,这里建议的是将命令拆分为几个行。
DataFrame = df0.join(df1, how = 'outer') \
.join(df2, how = 'outer') \
.join(df3, how = 'outer')
最后,在某些情况下,你不能让行短于80个字符!