use*_*ber 2 python coding-style python-2.7 iterable-unpacking
在Python中,我想做这样的事情
an_explicit_variable_name, another_explicit_variable_name, an_even_more_explicit_variable_name = function(foo)
Run Code Online (Sandbox Code Playgroud)
但我也希望这个可读并适合几条短线而不是一条非常长的线.我没有在PEP 08找到任何帮助.这个问题有点关系,但答案并不是我想要的.
就线长而言,这是我能想到的最好的,但我并不喜欢使用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]
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为第二行仍然太长
_ = function(foo)
an_explicit_variable_name, another_explicit_variable_name, an_even_more_explicit_variable_name = _
Run Code Online (Sandbox Code Playgroud)
我应该将我在多行中声明的变量分开吗?如果是这样,我该如何缩进?
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)
Run Code Online (Sandbox Code Playgroud)
在这种情况下采用什么样的风格?
只需使用括号:
(an_explicit_variable_name,
another_explicit_variable_name,
an_even_more_explicit_variable_name) = function(foo)
Run Code Online (Sandbox Code Playgroud)
或者,如果数据属于一起,则创建一个容器对象以将其保持在一起,例如a collections.namedtuple,然后执行:
data = container(*function(foo))
# use e.g. data.an_explicit_variable_name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
799 次 |
| 最近记录: |