清理python返回任务

Cri*_*pto 3 python

我有一个返回多个项目的方法.

def multiReturn():
   return 1,2,3,4
Run Code Online (Sandbox Code Playgroud)

我把它分配到一行

one, two, three, four = multiReturn()
Run Code Online (Sandbox Code Playgroud)

有没有办法清理上面的行

就像是:

one,
two,
three,
four = multiReturn()
Run Code Online (Sandbox Code Playgroud)

因为我有一些变量名变大了,页面的宽度让我烦恼.

任何清理它的想法

Jon*_*nts 10

您可以使用括号:

(
    one,
    two,
    three,
    four
) = range(4)
Run Code Online (Sandbox Code Playgroud)

  • 然而,这不是更清洁. (3认同)

voi*_*hos 8

如果您已经返回了这么多项目,请考虑创建某种数据结构.一个类应该没问题,但是如果你认为它有点过分,你可以使用dict甚至是一个namedtuple.

# First define the structure
myStruct = namedtuple('myStruct', ['item1', 'item2', 'item3', 'item4'])

# Then use it
def multiReturn():
    return myStruct(1,2,3,4)

# No unpacking required!
this_is_awesome = multiReturn()
Run Code Online (Sandbox Code Playgroud)