Python 将一个函数用作另一个函数中的可选参数
假设我得到了这个函数(一个非常简单的函数,只是为了让大家明白我的观点): 现在我想在另一个函数中使用此函数作为可选参数,例如,我尝试了以下方法:Python 将一个函数用作另一个函数中的可选参数,python,function,optional-parameters,Python,Function,Optional Parameters,假设我得到了这个函数(一个非常简单的函数,只是为了让大家明白我的观点): 现在我想在另一个函数中使用此函数作为可选参数,例如,我尝试了以下方法: def g(x, f_out = f(x)): return(f_out) 所以基本上,如果我做了g(1),输出应该是True,如果我做了g(0),我希望输出是False,因为f(0)是False,因此f\u out是False 尽管如此,当我尝试此操作时,f_out始终是True而不管x。如何使函数f在获取值f\u时实际被调用 我实际使用这
def g(x, f_out = f(x)):
return(f_out)
所以基本上,如果我做了g(1)
,输出应该是True
,如果我做了g(0)
,我希望输出是False
,因为f(0)
是False
,因此f\u out
是False
尽管如此,当我尝试此操作时,f_out
始终是True
而不管x
。如何使函数f
在获取值f\u时实际被调用
我实际使用这个原理的代码显然更复杂,但它的想法是一样的;我在一些function1
中有一个可选参数,它调用不同的function2
,其中的参数已经是function1
中的参数,例如我的示例中的x
。(抱歉,我知道这可能是一种不清楚的解释方式。)您正在调用声明中的函数f_out
。您希望将函数本身作为参数传递,并在g
内调用它:
def g(x, f_out=f):
return f_out(x)
您正在声明中调用函数f_out
。您希望将函数本身作为参数传递,并在g
内调用它:
def g(x, f_out=f):
return f_out(x)
您正在声明中调用函数f_out
。您希望将函数本身作为参数传递,并在g
内调用它:
def g(x, f_out=f):
return f_out(x)
您正在声明中调用函数f_out
。您希望将函数本身作为参数传递,并在g
内调用它:
def g(x, f_out=f):
return f_out(x)
f_out=f(x)
尝试在声明函数时调用f()
(在未定义全局x
的情况下失败),而不是在调用函数时调用。请尝试以下方法:
def g(x, f_out=f):
return f_out(x)
这将使用参数x
调用f()
,并从g()
返回其值f\u out=f(x)
尝试在声明函数时调用f()
(在未定义全局x
的情况下失败),而不是在调用函数时调用。请尝试以下方法:
def g(x, f_out=f):
return f_out(x)
这将使用参数x
调用f()
,并从g()
返回其值f\u out=f(x)
尝试在声明函数时调用f()
(在未定义全局x
的情况下失败),而不是在调用函数时调用。请尝试以下方法:
def g(x, f_out=f):
return f_out(x)
这将使用参数x
调用f()
,并从g()
返回其值f\u out=f(x)
尝试在声明函数时调用f()
(在未定义全局x
的情况下失败),而不是在调用函数时调用。请尝试以下方法:
def g(x, f_out=f):
return f_out(x)
这将使用参数x
调用f()
,并从g()
返回其值。哦,是的,这很有意义!非常感谢。哦,是的,这很有道理!非常感谢。哦,是的,这很有道理!非常感谢。哦,是的,这很有道理!非常感谢。非常感谢,我现在明白了。非常感谢,我现在明白了。非常感谢,我现在明白了。非常感谢,我现在明白了。非常感谢,我现在明白了。