尝试使用返回三个值的函数作为采用3个值的函数的输入

时间:2019-01-11 19:57:08

标签: python-3.x function

我有一个函数可以执行一些操作,但最终会返回三个列表。 我还有另一个函数,一个类中的set方法,它需要三个输入。 当我尝试将第一个函数用作set函数的参数时,尽管它返回了正确的数量,但它抱怨没有足够的输入。有没有解决的办法?我应该只声明一些临时局部变量来做到这一点吗?

我的代码的简化版本

class hello(object):
    a, b, c = 0, 0, 0
    def __init__(self, name):
        self.name = name

    def setThings(one, two, three):
        self.a = one
        self.b = two
        self.c = three

def someStuff(x, y, z):
    newX = x * 1337
    newY = y * 420
    newZ = z * 69
    return newX, newY, newZ

first = int(input("first"))
second = int(input("second"))
third = int(input("third"))
kenzi = hello(input("name pls"))
kenzi.setThings(someStuff(first, second, third))

1 个答案:

答案 0 :(得分:2)

在将函数作为参数调用时,在函数之前添加一个星号。

kenzi.setThings(*someStuff(first, second, third))