def func(): print("我是func函数") value = (11, 22, 33, 44) return value def outer(origin): def inner(): print('inner') res = origin() print("after") return res return inner func = outer(func) result = func()
时间: 2023-05-23 17:04:02 浏览: 84
PHP利用func_get_args和func_num_args函数实现函数重载实例
程序的输出结果应该是:
inner
我是func函数
after
同时,result 应该是 (11, 22, 33, 44)。
这段程序是一个实现了函数闭包的例子,outer 函数接收一个函数 origin 作为参数,并返回一个新的函数 inner,inner 函数可以调用 origin 函数,并在这个调用前后分别输出 'inner' 和 'after'。在这里,outer 函数通过返回 inner 函数来“捕获”了 origin 函数,并且在 inner 函数内部可以像调用普通的函数一样调用 origin 函数。为了使得 func 函数可以被 outer 函数调用,我们需要将 func 函数作为参数传递给 outer 函数,然后将 outer 函数的返回值重新赋值给 func。最后调用 func() 函数会返回 (11, 22, 33, 44)。
阅读全文