实例方法
如果你创建了一个类的实例,你需要在这个实例中调用到这个方法,此时你就可以把这个方法定义为实例方法
一般,类似以下这中的就是实例方法:
class 类名():
def 方法名(self):
pass
实例对象的参数一般写作self
调用:实例.方法名()
类方法
如果方法中不需要用到实例属性,但是需要用到类属性,此时就可以定义为类方法(定义为实例方法也可以)
一般,类似以下这中的就是类方法:
在方法上面加一个@classmethod装饰器,声明这是一个类方法
class 类名():
@classmethod
def 方法名(cls):
pass
类对象的参数一般写作cls
调用:类名.方法名()或者 实例.方法名()
静态方法
方法里面既不需要用到类属性,也不需要用到实例属性的,就可以定义为静态方法
当你把既不需要用到类属性,也不需要用到实例属性的方法定义为实例方法时,方法名下边会有灰色波浪线,提示你此方法可以定义为静态方法。
一般,类似以下这中的就是类方法:
在方法上面加一个@staticmethod装饰器,声明这是一个静态方法
class 类名():
@staticmethod
def 方法名():
pass
静态方法对参数一般没有要求,不需要传啥参数
调用:类名.方法名()或者 实例.方法名()