三句话解释装饰器@property,@classmethod,@staticmethod

网上随便一搜。。关于这个问题的解释都写了好多
提炼一下:

  • @property
    这个装饰器可以让你用直接「实例名.属性」来读和改写属性,表面看去是取值或用「=」来赋值,其内核却是调用get或者set方法,其用法是直接修饰在get方法前面,或者在set方法前面用@方法名.setter

  • @staticmethod
    目前为止见过的所有类中的函数都要传入self这个实例。顾名思义,静态方法,@staticmethod可以修饰不需要self的函数,这类函数不加@staticmethod的话报错

  • @classmethod
    顾名思义,类方法,用它来修饰的方法,其第一个参数不是self,而是cls,也就是这个类本身作为参数

  • 参考:
    ①https://zhuanlan.zhihu.com/p/22810357?refer=jianmingjiaocheng
    ②https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820062641f3bcc60a4b164f8d91df476445697b9e000

你可能感兴趣的:(三句话解释装饰器@property,@classmethod,@staticmethod)