将一个函数的多个返回值作为参数传递给另一个函数

Posted

技术标签:

【中文标题】将一个函数的多个返回值作为参数传递给另一个函数【英文标题】:pass the multiple return values from one function to another function as an argument 【发布时间】:2021-04-10 09:57:01 【问题描述】:

我有以下代码,

def hello(start, end):
    perform some function
    for i in range(j):
        yield (some value)
    yield (some value)

def calc(start, end):
    start = "x"
    end = "y"
    for d in hello(start, end):
        perform some function       
        data = 123
        perform some function 
        data1 = 456
    return data, data1

def world(hello()):
    with open(r"C:\filepath\abc.json",'w') as file:
        json.dump(hello.data, file)
    
    with open(r"C:\filepath\abc.json") as file1:
        d = json.load(file1)
    return d
    现在,我想使用 hello() 函数的返回值(data & data1) 在 world() 函数中,也想使用 world() 的返回值 另一个函数中的函数。 此外,world() 函数将作为模块导入,并且应该 在另一个模块的函数中使用。

我该怎么做?

【问题讨论】:

【参考方案1】:
    您可以使用* 运算符来解压返回值。以下示例适用于我:
def func1():
    return 10, 's10'

def func2(code, codeString):
    print("code: ", code)
    return codeString
   

cs = func2(*func1())
print("Code string: ", cs)

更多详情请查看tuples as function arguments。

【讨论】:

以上是关于将一个函数的多个返回值作为参数传递给另一个函数的主要内容,如果未能解决你的问题,请参考以下文章

将 DataFrame 切片作为参数传递给没有“SettingWithCopyWarning”的函数

对象作为参数传递给另一个类,通过值还是引用?

Kotlin:如何将一个函数作为参数传递给另一个函数?

QML:如何将javascript函数作为参数传递给另一个函数

如何将带有 args 的成员函数作为参数传递给另一个成员函数?

如何将命令输出作为多个参数传递给另一个命令