Попытка использовать функцию, которая возвращает три значения в качестве входных данных для функции, которая принимает 3 значения - PullRequest
0 голосов
/ 11 января 2019

У меня есть функция, которая делает несколько вещей, но в конечном итоге возвращает три списка. У меня есть другая функция, метод 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 голосов
/ 11 января 2019

Добавьте звездочку перед функцией при вызове в качестве аргумента.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...