Closed. This question is opinion-based。。
想改进这个问题吗?更新问题,以便editing this post可以用事实和引用来回答。
四年前关闭。
我有几行代码从一个函数返回并分配多个值,如下所示。这当然是一条很长的线。这样一行代码的正确样式/格式是什么?我包括了一些我想到的可能性。
some_variable_1, \
    some_variable_2, \
    some_variable_3, \
    some_variable_4, \
    some_variable_5 = sort_of_long_function_name(parameter_1, parameter_2,
    parameter_3, parameter_4)

some_variable_1, some_variable_2, some_variable_3, some_variable_4, \
    some_variable_5 = sort_of_long_function_name(parameter_1, parameter_2,
    parameter_3, parameter_4)

编辑:谢谢大家的回答。我不能投票,因为我是个无名小卒,所以我只想说我很感激。我以前读过样式指南,通常我会避免这样的长线。在这种情况下,我觉得我需要这个函数来计算和返回多个统计数据。我想我将使我的一些命名更加简洁,并考虑返回一个对象或命名元组。谢谢!

最佳答案

你要避免陷入那种境地。如果你有一个元组分配给这么多的名字,你甚至不能在一行80个字符中容纳它,现在是重构的时候了。
例如,可以让函数返回namedtuple class

from collections import namedtuple

Result = namedtuple('Result', 'foo bar spam ham eggs')

def sort_of_long_function_name(arg1, arg2, arg3, arg4):
    return Result(foo_result, bar_result, spam_result, ham_result, eggs_result)

result = sort_of_long_function_name(param1, param2, param3, param4, param5)
do_something_with(result.foo)
do_something_else_with(result.bar)
# etc.

现在,您有了一个具有有用命名属性的变量,而不是5个变量。
urlparse module中的解析函数就是这样做的,namedtuple类甚至还有一些额外的方法来重新创建解析的URL。

关于python - 在python中格式化长行代码的正确方法是什么? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31972960/

10-12 19:24