我应该在哪里打破Python的长线

时间:2018-01-19 08:11:17

标签: python line long-integer break code-formatting

我在Python代码中有这么长的一行:

long_variable_name = [int(name) for name in long_variable_name] if long_variable_name else None

将它打破小于80个字符的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

这实际上是一个意见问题,但如果你要打两行,我发现以下更具表现力:

if long_variable_name:
    long_variable_name = [int(name) for name in long_variable_name]
else:
    long_variable_name = None

内联if..else语句以错误的方式读给我作为人类,因为条件介于两个可能的任务之间。

另一种方法是请求宽恕而不是许可:

try:
    long_variable_name = [int(name) for name in long_variable_name]
except TypeError:
    long_variable_name = None

如果您不确定long_variable_name是否可迭代,那么您可能需要这些内容。 (如果您认为ValueError的任何元素可能无法转换为long_variable_name s,您也可以捕获int。 `

答案 1 :(得分:0)

我最终以这种方式格式化代码:

long_variable_name = [
    int(name) for name in long_variable_name] if long_variable_name else None