Python函数的绑定调用和非绑定调用

来源:互联网 发布:外国人的聊天软件 编辑:程序博客网 时间:2024/06/04 18:52

class Test:

    def func(self,message):

        print message

 

object1=Test()

x=object1.func

x('绑定方法对象,实例是隐含的')

 

t=Test.func

t(object1,'未绑定的方法对象,需要传递一个实例')

 

 

(1) object1=Test()生成一个实例,object1.func返回一个绑定的方法,把实例object1和方法func绑定。

(2) 而Test.func是用类去引用方法,我们得到一个未绑定的方法对象。要调用它就得传一个实例参数,如t(object1,'未绑定的方法对象,需要传递一个实例') 。

大多数时候,我们都直接调用方法,所以一般不会注意到方法对象。但是如果开始写通用的调用对象的代码时,需要特别仔细地注意未绑定方法,它们需要地传一个实例参数。

 

0 0
原创粉丝点击