程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在函数内部访问函数?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在函数内部访问函数??

开发过程中遇到如何在函数内部访问函数?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在函数内部访问函数?的解决方法建议,希望对你解决如何在函数内部访问函数?有所启发或帮助;

不,您不能直接调用它,因为它是的局部变量@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中,您还可以修改xusingnonlocal语句的值。

>>> 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

解决方法

我想知道如何访问另一个函数中的一个函数。我看到了这样的代码:

>>> def make_adder(X):
      def adder(y):
        return x+y
      return adder
>>> a = make_adder(5)
>>> a(10)
15

那么,还有另一种方法来调用该adder 函数吗?我的第二个问题是,为什么在最后一行中我adder不打电话adder(...)

很好的解释深表感谢。

大佬总结

以上是大佬教程为你收集整理的如何在函数内部访问函数?全部内容,希望文章能够帮你解决如何在函数内部访问函数?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。