![](/img/trans.png)
[英]How to use two returned values from a function in another function? MAIN()
[英]Use a function's returned values as parameters for another function
是否可以将一个 function 的返回值用作另一个的参数,例如:
def first_func():
string1 = 'test1'
string2 = 'test2'
return string1, string2
def second_func(val1, val2):
print(val1, val2)
second_func(first_func())
尝试这样做会引发Parameter 'val2' unfilled
这些是示例, *args 不适合在实际代码的情况下使用。
不要返回两个单个字符串。 而是使用两个函数。 每个对应一个值:
def first_func():
string1 = 'test1'
return string1
def second_func():
string2 = 'test2'
return string2
def third_func(val1, val2):
print(val1, val2)
third_func(first_func(), second_func())
或者,在第一个 function 中创建一个字符串数组,并期望它来自 function 打印内容:
def first_func():
string1 = 'test1'
string2 = 'test2'
array = [string1, string2]
return array
def third_func(array):
for item in array:
print(item)
third_func(first_func())
first_func的结果作为一个元组返回,它是一个包含多个值的单个object。 second_func接受两个输入,在您的情况下,应该接受一个包含多个值的输入。 对于您的情况:
def first_func():
string1 = 'test1'
string2 = 'test2'
return string1, string2
def second_func(vals):
for value in vals:
print(value)
second_func(first_func())
这种方式还接受第二个 function 的任意数量的输入。
当然你也可以在第二个 function 中玩拆包:
def second_func(**vals):
print(vals)
second_func(input1 = first_func()[0], input2 = first_func()[1]) # etc. Could be done in a loop
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.