如何从另一个函数访问返回的函数值

How to access returned function values from another function

我想从另一个函数访问返回的函数值,但我无法成功。有人可以告诉我该怎么做吗?

这是定义的函数'thermo',我正在使用 IAPWS97 库

def thermo (p = 0.006112127, H = 1493):
    tp = IAPWS97(P= p, h= H )
    rho = tp.rho
    temp = tp.T
    xq = tp.x
    tpmu = IAPWS97(T=temp, x= 0) 
    Mu = tpmu.mu
    return rho,temp,xq,Mu

这是第二个函数

def f2 (m= 1, g= 2, h= 3):
    c = m*g+h
    rho_p = -rho / p^c
    return rho_p

谢谢

定义这些函数时,您就是在写下如何根据提供的输入值计算输出值。为了得到一个函数的输出值,你需要调用这个函数,像这样:

def f2(m=1, g=2, h=3):
    c = m * g + h
    rho, temp, xq, Mu = thermo(p, h)
    rho_p = -rho / p ^ c
    return rho_p

不幸的是,即使我上面给你的代码也行不通。你会得到 NameError: name 'p' is not defined,因为你还没有指定变量 p 的值是什么。我推断您可能会使用 h 作为 thermoH 的输入值,但这只是一个猜测。当你调用一个函数时,你需要为它提供它需要的所有输入。如果您没有值,则需要显式创建它(如 thermo(0.0112, h))或让 f2 的调用者提供它(如 def f2(m=1, g=2, h=3, p=0.0112))。

听起来您可能需要花一些时间阅读有关如何定义和使用函数的内容。这是关于 defining functions.

的官方 Python 教程部分

您需要调用第一个函数并存储 rho 的输出值并将其提供给 f2 函数。

def f2 (m, g2, h3, rho):
    c = m*g+h
    rho_p = -rho / p^c
    return rho_p

def thermo (p = 0.006112127, H = 1493):
    tp = IAPWS97(P= p, h= H )
    rho = tp.rho
    temp = tp.T
    xq = tp.x
    tpmu = IAPWS97(T=temp, x= 0) 
    Mu = tpmu.mu
    return rho,temp,xq,Mu

a,b,c,d = thermo(p = 0.006112127, H = 1493)

f2(1,2,3,a)