在Python中,我想做类似的事情
an_explicit_variable_name, another_explicit_variable_name, an_even_more_explicit_variable_name = function(foo)
但是我也希望这个可读并适合几条短线而不是一条非常长的线。我在PEP 08找不到任何帮助。 This question与我有点相关,但答案并不是我想要的。
就线路长度而言,这是我能想到的最好的,但我真的不喜欢使用a[0]
等。
a = function(foo)
an_explicit_variable_name = a[0]
another_explicit_variable_name = a[1]
an_even_more_explicit_variable_name = a[2]
这不起作用,因为第二行仍然太长
_ = function(foo)
an_explicit_variable_name, another_explicit_variable_name, an_even_more_explicit_variable_name = _
我应该将我在几行中声明的变量分开吗?如果是这样,我该如何缩进?
an_explicit_variable_name, \
another_explicit_variable_name, \
an_even_more_explicit_variable_name \
= function(foo)
an_explicit_variable_name, \
another_explicit_variable_name, \
an_even_more_explicit_variable_name \
= function(foo)
在这种情况下采用什么样的风格?
答案 0 :(得分:5)
只需使用括号:
(an_explicit_variable_name,
another_explicit_variable_name,
an_even_more_explicit_variable_name) = function(foo)
或者,如果数据属于一起,则创建一个容器对象以将其保持在一起,例如a collections.namedtuple
,然后执行:
data = container(*function(foo))
# use e.g. data.an_explicit_variable_name