绑定方法与非绑定方法

对象的绑定方法

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

其特殊之处在于,

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

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

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

一.绑定方法

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

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

    为类量身定制

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

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

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

     为对象量身定制

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

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

非绑定方法

非绑定方法:用@staticmethod装饰器装饰的方法

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

注意:与绑定到对象方法区分开,在类中直接定义的函数,没有被任何装饰器装饰的,都是绑定到对象的方法,可不是普通函数,对象调用该方法会自动传值,而staticmethod装饰的方法,不管谁来调用,都没有自动传值一说
原文地址:https://www.cnblogs.com/george-007/p/11240768.html