一:类方法

1

二:静态方法

定义:指类中无需实例参与即可调用的方法(不需要self参数),在调用过程中,无需将类实例化,直接在类之后使用.号运算符调用方法。

用法:静态方法使用@staticmethod装饰器来声明

class ClassA(object):

    @staticmethod
    def func_a():
        print('Hello Python')

if __name__ == '__main__':
    ClassA.func_a()
    # 也可以使用实例调用,但是不会将实例作为参数传入静态方法
    ca = ClassA()
    ca.func_a()

在Python 3中,如果一个类的方法不需要self参数,不再需要声明为静态方法,但是这样的话只能通过类去调用这个方法,如果使用实例调用会引发异常

class ClassA(object):
    def func_a():
        print('Hello Python')

if __name__ == '__main__':
    ClassA.func_a()
    # 以下使用实例调用会引发异常
    ca = ClassA()
    ca.func_a()
func_a() takes 0 positional arguments but 1 was given 
# 因为func_a没有声明为静态方法,类实例在调用func_a时,会隐式地将self参数传入func_a,而func_a本身不接受任何参数,从而引发异常

三:实例方法

相关文章:

  • 2021-10-01
  • 2021-08-25
  • 2021-11-14
  • 2022-02-21
  • 2021-11-18
  • 2021-11-20
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-04-12
  • 2021-07-21
  • 2022-03-07
  • 2021-12-03
相关资源
相似解决方案