我应该在 Python 中的哪里断行

Where should I break a long line in Python

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

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

将其拆分为小于 80 个字符的正确方法是什么?

这真的是一个见仁见智的问题,但如果你无论如何都要把它写成两行,我觉得下面的更能表达:

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 是否可迭代,这可能是您需要的。 (如果您认为 long_variable_name 的任何元素可能无法转换为 int,您也可以捕获 ValueError)。 `

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

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