如何调用在主函数之外定义的函数?

2024-04-29 03:38:18 发布

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

所以我对python相当陌生,我正在研究一个算法,假设有两个函数

func1(x)

func2(x)

已经在主函数外定义。在

现在我想在主函数内部调用另一个函数

像这样的东西

^{pr2}$

很明显它不起作用我还没能让它发挥作用。有什么建议吗?在

编辑:我的意思是我想输入一个字符串,我希望它先通过func2,然后从func2返回的值通过func1,最后是func1的返回值通过func main。我已经分别测试了每个功能,它们按预期工作,但我似乎无法将它们连接在一起


Tags: 函数字符串功能算法编辑定义main建议
3条回答

执行以下功能:

def func1(x):
    return x+1


def func2(x):
    return x*2

你自己可以这样做:func1(func2(3)),它将返回3乘以2加1。这是因为func1(func2(3))本身实际上返回一个值,而不是一个函数。在

但是,既然你想把它作为主函数的基本参数,像这样:

^{pr2}$

它不知道该怎么办,因为x没有默认值。。。在

但您可以这样做:

^{3}$

这将对1进行适当的数学运算,然后将其赋值为x(因为如前所述,func1(func2(3))`将返回函数的结果,而不是函数本身,然后将其乘以3。因为您默认x等于一个值(func1(func2(1))

这仍然是一个糟糕的做法,因为您将默认使用func1(func2(1)输出的任何内容。在

你最终可能想要的是更简单的东西:

def main(x):
     y = func1(func2(x))
     return y*3

或者更简单

def main(x):
    return x*3

#and then just call it like this
main(func1(func2(1))

这是你的意思吗?你的问题不太清楚。我假设x在某个地方也是全局定义的。在

def funcmain():
    return func1(func2(x))

我希望这段代码能帮助你澄清一些事情。在

#!/usr/bin/python

def func1(x):
    return x + 1

def func2(x):
    return x + 2

def main(x):
    print func1(func2(x))

if __name__ == '__main__':
    main(0)

输出为3。在

相关问题 更多 >