一,类方法
方法没有self参数为类的函数,不是实例的函数
eg:
eg:规范类函数(通过装饰器来写)
使用@classmethod来定义属于类的一个方法函数:
语法:
class A:
@classmethod
def func(cls):
print("类方法")
eg:
二,静态方法
1,定义静态方法使用:@staticmethod
2,静态方法不需要默认的任何参数,跟一般的普通方法类似
3,通过这样定义的方式,我们可以在多个实例彼此之间可以共享这个函数中的数据和内容
4,类和实例共有,但是静态方法无法访问实例变量
语法:
class A:
@staticmethod
def func():
print("静态方法")
eg:
总结:静态方法和类方法
1,类方法需要传递cls参数,静态方法无需传递
2,静态方法和类方法都不可以访问实例变量
3,类方法可以访问类变量,静态方法不可以