绑定方法与非绑定方法

Posted wkq0220

tags:

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

对象的绑定方法

技术图片
默认情况下类中的方法都是对象绑定方法 

其特殊之处在于,

当使用对象调用该函数时会自动传入对象本身,作为第一个参数  

当使用类名来调用时他就是一个普通函数,有几个参数就得传几个参数 
技术图片

类中定义的函数分成两大类

一.绑定方法

技术图片
绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入):

1. 绑定到类的方法:用@classmethod装饰器装饰的方法。

    为类量身定制

    自动将类当作第一个参数传入

    其实对象也可调用,但仍将类当作第一个参数传入)

2. 绑定到对象的方法:没有被任何装饰器装饰的方法。

     为对象量身定制

     自动将对象当作第一个参数传入

     属于类的函数,类可以调用,但是必须按照函数的规则来,没有自动传值那么一说
技术图片

非绑定方法

技术图片
非绑定方法:用@staticmethod装饰器装饰的方法

1. 不与类或对象绑定,类和对象都可以调用,但是没有自动传值那么一说。就是一个普通工具而已

注意:与绑定到对象方法区分开,在类中直接定义的函数,没有被任何装饰器装饰的,都是绑定到对象的方法,可不是普通函数,对象调用该方法会自动传值,而staticmethod装饰的方法,不管谁来调用,都没有自动传值一说
技术图片

 

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

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

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

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

三.绑定方法与非绑定方法

009---绑定方法与非绑定方法

绑定方法与非绑定方法