1、定义上的区别
实例方法:不需要装饰器
类方法:需要装饰器@classmethod
静态方法:需要使用装饰器 @staticmethod
2、参数的区别
实例方法:第一个参数必须是 self,指向实例对象
类方法:第一个参数必须是 cls ,指向类对象
静态方法:不需要self和cls
3、调用的区别
实例方法:必须被实例对象调用
类方法:可以被类对象或者实例对象调用
静态方法:可以被类对象或者实例对象调用
4、作用上的区别
实例方法:定义实例对象的功能方法
类方法:定义类对象的功能方法
静态方法:功能方法与类和实例对象无关,只是绑定关系,封装在类里面方便调用。