对象方法中的闭包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象方法中的闭包相关的知识,希望对你有一定的参考价值。

这个说法应该不准确,甚至仅仅就闭包本身这个事情,就搞不清准确定义,上实例

>>> def inner(tmp):
    return tmp

>>> def f(a):
    return inner(a)

>>> f(1)
1
>>> def f(a):
    def inner(tmp):
        return tmp
    return inner(a)

>>> f(1)
1
>>> 

直到搞到selenium,发现个之前没见过的用法(例子没用unittest写,举了类似的)

>>> def run(self):
    print self.attr

    
>>> class Test:
    def __init__(self,attr):
        self.attr=attr
    def fun(self):
        run(self)

        
>>> Test(1).fun()
1

run被fun调用,fun是实例方法,run还能操作实例变量attr(self的作用,怎么搞的不知道);

#想起了实例方法的 from types impor Methodtype 后绑定.,写完方法定义后再绑

以上是关于对象方法中的闭包的主要内容,如果未能解决你的问题,请参考以下文章

对象方法中的闭包

24 jQuery——对象的封装闭包匿名自调用函数

Golang中的匿名函数(闭包)

理解Python中的闭包

JS---闭包

Spark闭包与序列化