@classmethod和@staticmethod

多态
绑定方法+非绑定方法(函数)
反射

#封装
__开头的属性,在定义阶段会发生变形,_类名__属性

#property:装饰器,把被装饰的函数伪装成一个数据属性


#绑定方法:绑定给谁就是给谁用的

#绑定到对象的方法:
定义:凡是在类中定义的函数(没有被任何装饰器修饰),都是绑定给对象的
给谁用:给对象用
特点:obj.bar()自动把obj当做第一个参数传入,因为bar中的逻辑就是要处理obj

#绑定到类的方法
@classmethod
定义:在类中定义的,被classmethod装饰的函数就是绑定到类的方法
给谁用:给类用
特点:类.class_method()自动把类当做第一个参数传入,因为class_method中的逻辑就是要处理类


#非绑定方法
@staticmethod
就是一个函数,就是一个工具而已,不需要类,也不需要对象

原文地址:https://www.cnblogs.com/yx179971/p/7126867.html