我在Python代码中有这么长的一行:
long_variable_name = [int(name) for name in long_variable_name] if long_variable_name else None
将它打破小于80个字符的正确方法是什么?
答案 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