【发布时间】:2018-01-19 08:11:17
【问题描述】:
我的 Python 代码中有这么长的一行:
long_variable_name = [int(name) for name in long_variable_name] if long_variable_name else None
将其拆分为小于 80 个字符宽的正确方法是什么?
【问题讨论】:
-
老实说:长度还可以。我们不再有终端,所以 100 - 110 个字符是合理的。如果你想改进这一行,请将列表理解重构为一个函数,其名称可以解释它在做什么
-
您可以在表达式中加上括号以将其拆分到任何您想要的位置:
long_variable_name = ([int(name) for name in long_variable_name] if long_variable_name else None) -
根据google python style guide,您可能认为或可能不认为有用的条件表达式不适合单行应该重构为完整的
if语句。 -
有多种 Python 风格指南。有@PaulPanzer 链接的谷歌,有PEP 8,任何公司都可能有自己的。他们可能会告诉你,你可以使用更长的线条,或者在哪里换行,或者其他各种选项。如果您没有理由使用不同的样式指南,一个好的默认值是 PEP 8,因为它是 Python 基金会推荐的。
-
@Daniel H,我想根据 PEP 8 格式化代码,但我没有找到任何破坏这种结构的提示。
标签: python line long-integer break code-formatting