类中定义的函数有两大类(3小种)用途,一类是绑定方法,另外一类是非绑定方法
1.绑定方法:
特殊之处:绑定给谁就应该由谁来调用,谁来调用就会将谁当做第一个参数自动传入
1.1绑定给对象的:类中定义的函数默认就是绑定对象的。
1.2绑定给类的:在类中定义的函数上加上一个装饰器classmethod、
2.非绑定方法:
特殊之处:就是一个普通函数,根本没有自动传值一说。既不与类绑定也不与对象绑定、
3.代码实例:
class Foo: def __init__(self, name): self.__name = name def fun1(self): # 绑定给对象,应该由对象调用 print(self) @classmethod def fun2(cls): # 绑定给类,应该由类调用 print(cls) @staticmethod def fun3(): print('staticmethod')