使用样式解包多行
Unpacking over multiple lines with style
在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)
在这种情况下应该采用什么风格?
只需使用括号:
(an_explicit_variable_name,
another_explicit_variable_name,
an_even_more_explicit_variable_name) = function(foo)
或者,如果数据属于一起,则创建一个容器对象将它们放在一起,例如一个 collections.namedtuple
,然后做:
data = container(*function(foo))
# use e.g. data.an_explicit_variable_name
在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)
在这种情况下应该采用什么风格?
只需使用括号:
(an_explicit_variable_name,
another_explicit_variable_name,
an_even_more_explicit_variable_name) = function(foo)
或者,如果数据属于一起,则创建一个容器对象将它们放在一起,例如一个 collections.namedtuple
,然后做:
data = container(*function(foo))
# use e.g. data.an_explicit_variable_name