什么时候我需要在python编程中使用@staticmethod和@classmethod?

时间:2017-10-18 15:37:13

标签: python

我想知道何时需要使用staticmethodclassmethod装饰器。 你能指导我简单的代码,这样才能理解用法 staticmethodclassmethod

1 个答案:

答案 0 :(得分:1)

当你调用python对象的方法时,对象本身会自动作为第一个参数传递(通常命名为self

您可以通过两种方式更改此内容

  • 使用@classmethod进行注释:现在,对象类将自动作为第一个参数传递而不是对象
  • 使用@staticmethod进行注释:现在,不会传递额外的参数,只传递您提供的参数。就像普通的python函数一样

类方法通常用于替代构造函数。静态方法是普通函数,放在类名称空间中,仅用于逻辑分组。