大佬教程收集整理的这篇文章主要介绍了如何在函数内部访问函数?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
不,您不能直接调用它,因为它是的局部变量@H_777_3@make_adder。
您需要使用,adder()
因为return
adder
调用adder
时返回了函数对象@H_777_3@make_adder(5)。要执行此功能对象,您需要()
def make_adder(X):
def adder(y):
return x+y
return adder
...
>>> make_adder(5) #returns the function object adder
<function adder at 0x9fefa74>
在这里您可以直接调用它,因为您可以访问它,因为它是由函数返回的@H_777_3@make_adder。返回的对象实际上称为
因为即使函数@H_777_3@make_addr已经返回,adder
由它返回的函数对象仍然可以访问变量x
。在py3.x中,您还可以修改x
usingnonlocal
语句的值。
>>> make_adder(5)(10)
15
Py3.x示例:
>>> def make_addr(X):
def adder(y):
nonlocal x
x += 1
return x+y
return adder
...
>>> f = make_addr(5)
>>> f(5) #with each call x gets incremented
11
>>> f(5)
12
#g gets it's own closure, it is not related to f anyhow. i.e each call to
# make_addr returns a new closure.
>>> g = make_addr(5)
>>> g(5)
11
>>> g(6)
13
以上是大佬教程为你收集整理的如何在函数内部访问函数?全部内容,希望文章能够帮你解决如何在函数内部访问函数?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。