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

2024-04-28 05:19:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从另一个函数访问返回的函数值,但未能成功。有人能告诉我怎么做吗

以下是使用IAPWS97库定义的函数“thermo”和Im

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

here is the error

多谢各位


Tags: 函数thermoreturn定义deftempf2tp
2条回答

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

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)

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

您需要调用第一个函数并存储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)

相关问题 更多 >