self:self代表自身的意思,就是代表这个类对象自身的意思不代表类本身,创建对象后self就代表这个对象自身。
cls:cls代表这个类,这个类的所有属性、方法都在里面。
class A(object):
a = 'a'
@staticmethod # 静态方法
def foo1():
return A.a # 正常
def foo2(self):
return 'hello'
@classmethod # 类方法
def foo3(cls, name):
print('hello')
print(A.a) # 使用类.类属性调用一个类属性
print('*' * 20)
print(cls().foo2()) # 使用类.类方法调用一个类方法
new = A()
print('*' * 20)
print('调用类的静态方法:', A.foo1())
print('*' * 20)
print('正常调用:', new.foo2())
print('*' * 20)
print('直接调用类属性', A.a)
print('*' * 20)
A.foo3('World')
print('*' * 20)