class C(object):
# 静态方法
@staticmethod
def f():
print('runoob')
class A(object):
bar = 1
def func1(self):
print ('foo')
# 类方法
@classmethod
def func2(cls):
print ('func2')
print (cls.bar)
cls().func1() # 调用 foo 方法
A.func2() # 不需要实例化
C.f() # 静态方法无需实例化
c = C() # 也可以实例化后调用
c.f()
静态方法: 类可以不用实例化就可以调用该方法 C.f(),当然也可以实例化后调用 C().f()
类方法: classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。