作为函数中的参数

时间:2013-12-04 16:11:04

标签: python function

所以这就是问题

def func_1(x):
     print 'function'

def func_2(x,y):
     print 'function2'

def func_3():
     n=func_1(x)
     m=func_2(x,y)

我有2个功能,我有第三个需要使用前2个,问题是我不知道如何让它工作。我给出前两个函数的参数,它给了我一个错误,尝试将函数作为参数,但它给了我一个语法错误

我也试图摆脱第一个功能,用这样的循环解决问题

counter = 0
while counter<10:
     n=func_1(x)
     m=func_2(x,y)

但它告诉我元组对象不可调用 如果有人可以告诉我如何在不定义第三个功能的前两个功能的情况下这样做,我将不胜感激

2 个答案:

答案 0 :(得分:5)

您没有传递func_3()任何参数,仍然期望它知道xy

func_1 ()func_2也不会返回任何内容,因此无需value = func()

func_3() def func_1(x): print "i'm func1" print x def func_2(x,y): print "i'm func2" print x, y def func_3(x, y): func_1(x) func_2(x, y) func_3(1, 2)

试试这个:

{{1}}

答案 1 :(得分:0)

很难从你的问题中看出来,但听起来你正试图让func3使用作为参数传递的函数?像

这样的东西
def func1(x):
    return 2*x

def func2(x, y):
    return 3*x + 2*y

def func3(x, y, fn1, fn2):
    return fn1(x) + fn2(x, y)

def main():
    print(5, 8, func1, func2)

if __name__=="__main__":
    main()