Мне нужно передать вывод функции в Python в качестве аргумента другой функции. Единственный улов в том, что 1-я функция возвращает кортеж, и весь кортеж должен быть передан второй функции.Выходы функции выхода в качестве аргументов для другой функции
Для экс:
У меня есть функция библиотеки:
def some_function(some_string, some_number):
# does something
return (text,id)
Теперь я хочу передать text
и id
возвращенных из some_function
в качестве аргументов другой функции. Уловка состоит в том, что функция имеет и другие аргументы. Мне также необходимо получить много текстов и идентификаторов, которые будут генерироваться разными значениями some_string
и number
.
В зависимости от состояния встречались, я хочу, чтобы вызвать другую функцию, которая будет выглядеть примерно так
if abcd:
other_function(name,phone,**some_function("abcd","123")**,age)
elif xyz:
other_function(name,phone,**some_function("xyz","911")**,age)
else:
other_function(name,phone,**some_function("aaaa","000")**,age)
Так что я должен заменить some_function("abcd","123")
с тем чтобы он расширяет кортеж и посылает как text
и id
, как аргументы?
other_function определяется как это
def other_function(name, phone, text, id, age):
...
return
просто передавая some_function("aaaa","000")
в качестве аргумента работы?
Я спрашиваю об этом, потому что я написал простой код для проверки моей гипотезы, и это дало мне пустой результат.
def f(id,string):
return ("123", "hello")
def a(name, age, id, words, phone):
print name + age + id + words + phone
def main():
a("piyush", "23", f("12", "abc"), "123")
Это не даст пустой выход, это поднимет TypeError. –
@ DanielRoseman за [ссылка на OP ниже] (http://stackoverflow.com/questions/29602791/pass-function-outputs-as-arguments-to-another-function/29602952#comment47351934_29602983), казалось бы, что они aren На самом деле ничего не работает! Ты прав, через; 'a() принимает ровно 5 аргументов (4 данных)'. – jonrsharpe