Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将一个函数用作另一个函数中的可选参数_Python_Function_Optional Parameters - Fatal编程技术网

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()
返回其值。哦,是的,这很有意义!非常感谢。哦,是的,这很有道理!非常感谢。哦,是的,这很有道理!非常感谢。哦,是的,这很有道理!非常感谢。非常感谢,我现在明白了。非常感谢,我现在明白了。非常感谢,我现在明白了。非常感谢,我现在明白了。非常感谢,我现在明白了。