静态方法

  • 普通方法的调用
class C:
    
    def f1(self):
        pass

obj = C()

#使用对象调用
obj.f1()

#使用类调用
C.f1(obj)
  •  静态方法的调用
class C:
    
    @staticmethod
    def f1():
        pass

C.f1()
  1. 使用装饰器@staticmethod之后,普通的方法变成了静态的方法,区别在于静态方法不再需要传递self参数
  2. 类对于静态方法,比之于模块对于函数,在使用方式上,是直接通过  类名.方法名()    模块名.函数名()  调用
  • 类方法
class C:

    @classmethod
    def f1(cls):
        print(cls)

C.f1()
  1.  类方法与静态方法的区别在于,方法的参数需要传递一个固定的形参cls,这个形参就是类本身
  2. print(cls)  打印 <class '__main__.C'>
原文地址:https://www.cnblogs.com/dongmengze/p/9508604.html