繁体   English   中英

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

[英]How to access returned function values from another function

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

这是定义的 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

这是第二个 function

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

这是错误

谢谢

当您定义这些函数时,您就是在写下如何根据提供的输入值计算 output 个值。 为了获得 function 的 output 值,您需要调用function,如下所示:

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的输入值,但这只是一个猜测。 当您调用 function 时,您需要为其提供所需的所有输入。 如果您没有值,则需要显式创建它(如thermo(0.0112, h) )或让f2的调用者提供它(如def f2(m=1, g=2, h=3, p=0.0112) )。

听起来您可能需要花一些时间阅读有关如何定义和使用函数的内容。 这是官方 Python 教程中关于定义函数的部分。

您需要调用第一个 function 并存储 output 的 rho 值并将其输入 f2 function。

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM