在python编程如何使用@staticmethod和@classmethod?

本问题已经有最佳答案,请猛点这里访问。

我想知道什么时候需要使用staticmethodclassmethod装饰器。你能给我简单的代码指导一下,这样就能明白用法了吗staticmethodclassmethod


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

你可以用两种方式来改变

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

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