有人可以解释一下下面的代码吗?
def mult_by_five(x):
return 5 * x
def call(fn, arg):
"""Call fn on arg"""
return fn(arg)
def squared_call(fn, arg):
"""Call fn on the result of calling fn on arg"""
return fn(fn(arg))
print(
call(mult_by_five, 1),
squared_call(mult_by_five, 1),
如何使用通话功能? fn 和 arg 是什么?
Python 中的函数是对象,就像任何其他对象一样。这意味着它们可以被传递,甚至在传递之后,仍然可以使用
()
运算符来调用它们。
本示例中的
call
函数采用两个参数 - fn
是一个函数,arg
是传递给该函数的参数。因此 call(mult_by_five, 1)
将导致 mult_by_five(1)
被调用。