类方法
普通的方法
class A:
def func(self):
print(self)
a1 = A()
a1.func()
# 结果:a1的内存地址
# <__main__.A object at 0x00FACEB0>
调用普通方法必须要传一个参数
class A:
def func(self): # 类里面的普通方法
print(self)
@classmethod # 类方法的装饰器
def fun1(cls):
print(cls)
a1 = A()
a1.func() # 对象调用self,将对象本身传给self
A.func(a1) # 类名点方法,主动传的对象
#结果
# <__main__.A object at 0x030E6450>
# <__main__.A object at 0x030E6450>
类方法:通过类名调用的方法,类方法中第一个参数约定俗成是cls,python自动将类名(类空间)传给cls
class A:
def func(self): # 类里面的普通方法
print(self)
@classmethod # 类方法的装饰器
def func1(cls):
print(cls)
A.func1() # 类名点方法,主动传的对象
# 结果
# <class '__main__.A'>
对象可以调用类方法,传给cls的是类本身。(对象调用普通方法,传