美文网首页
绑定方法

绑定方法

作者: MononokeHime | 来源:发表于2018-10-12 18:21 被阅读0次
    class Foo:
        def f(self):
            pass
    
    m1 = Foo()
    m2 = Foo()
    print(Foo.f)  # <function Foo.f at 0x107513b70>
    print(m1,m1.f)  # <__main__.Foo object at 0x109d51f60> <bound method Foo.f of <__main__.Foo object at 0x109d51f60>>
    print(m2,m2.f)  # <__main__.Foo object at 0x109d51fd0> <bound method Foo.f of <__main__.Foo object at 0x109d51fd0>>
    

    函数本身也是对象。f方法本质也是描述符,当调用m1.f的时候,函数的__get__方法返回的是绑定方法的对象;而Foo.f访问的时候,函数的__get__方法返回自身的引用

    相关文章

      网友评论

          本文标题:绑定方法

          本文链接:https://www.haomeiwen.com/subject/gmwgaftx.html