def f(g):
return g(2)
def square(x):
return x ** 2
>>> f(square)
4
>>> f(lambda z: z * (z + 1))
6
>>> f(f)
TypeError: 'int' object is not callable
我的解释:
我认为在f(g),g作为一个参数必须是一个功能,使得下部水平函数可以用G = 2的参数来调用。然而f(f),正如前面提到的那样,将自己称为函数,g它必须是一个函数。但是,f(2)不可调用。因此导致错误。
我不确定我是否完全解释了为什么参数g必须是一个函数。以及我是否完整地解释了这个问题。
临摹微笑
相关分类