绑定方法&非绑定方法

在python中,类内定义的函数分为两大类:绑定方法和非绑定方法。

绑定方法

其中绑定方法又分为绑定给对象的对象方法和绑定给类的类方法。

在类中正常定义的函数默认是绑定到对象的,而为某个函数加上装饰器@classmethod后,该函数就绑定给了类。

绑定给对象的方法,对象调用时会将对象作为该方法的第一个参数自动传参。类调用就不会自动传递一个参数。

绑定给类的方法,类调用时会类作为方法的第一个参数自动传参。对象调用也不会自动传第一个参数。


非绑定方法

为类中某个函数加上装饰器@staticmethod后,该函数就变成了非绑定方法,也称为静态方法。

非绑定方法,没有绑定给任何人:调用者可以是类、对象,没有自动传参的效果。

绑定方法与非绑定方法的使用总结:

  • 若类中需要一个功能,该功能的实现代码中需要引用对象则将其定义成绑定给对象的方法
  • 需要引用类则将其定义成类方法、无需引用类或对象则将其定义成静态方法。
posted @ 2020-04-10 16:02  the3times  阅读(139)  评论(0编辑  收藏  举报