python类包括三种方法:实例方法、静态方法和类方法。
1.实例方法在调用时需要类的实例(对象)。
2.静态方法在调用时不需要类的实例,可以用对象调用,也可用类调用;此外,静态方法不需要self参数。定义静态方法需要使用@staticmethod装饰器。
3.类方法的调用方式和静态方法完全一样,所不同的是,类方法与实例方法的定义方式相同,都需要一个参数占位(实例方法使用self,类方法使用cls)。定义类方法需要使用@classmethod装饰器。
class A:
# 实例方法
def instanceMethod(self):
print('instanceMethod')
# 静态方法
@staticmethod
def staticMethod():
print('staticMethod')
# 类方法
@classmethod
def classMethod(cls):
print('classMethod')
a = A()
a.instanceMethod()
# A.instanceMethod() # 抛出异常
a.staticMethod()
A.staticMethod()
a.classMethod()
A.classMethod()
实例方法、静态方法和类方法调用规则如下:
1.在实例方法中可以调用实例属性和类属性
2.在静态方法中不能访问任何属性
3.在类方法中只能访问类属性
4.实例方法不能被静态方法和类方法访问,但是静态方法和类方法可以被实例方法访问。