绑定方法与非绑定方法

Posted 扫驴

tags:

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

class a:
    def fuc(self):
        print (self)
aa=a()
print (a.fuc)#类直接调用的方法,称为非绑定方法
print (aa.fuc)#类的对象调用的方法,成为绑定方法

aa.fuc()#因为aa.fuc是绑定方法,就是已经把self参数提前进行了绑定,这个参数就是调用者本身。在调用的时候无需再传餐了。
a.fuc(aa)#因为是非绑定方法,所以调用时必须给self传参,注意,在py2中,传递的参数必须是a类的对象,而在py3中,传递的参数可以是任何值,从这点来说,在py3中,在类中定义的方法跟普通函数基本没什么区别

 

以上是关于绑定方法与非绑定方法的主要内容,如果未能解决你的问题,请参考以下文章

2020Python修炼记面向对象编程——绑定方法与非绑定方法

09-05 绑定方法与非绑定方法

绑定方法与非绑定方法

绑定与非绑定方法及反射,isinstance和issubclass内置函数

29-绑定方法与非绑定方法

绑定方法与非绑定方法