Python类中的静态方法是什么?

任何python类都具有三种类型的方法,例如实例方法,类方法和静态方法。

示例

考虑代码

class OurClass:
    def method(self):
        return 'instance method called', self
     @classmethod
    def classmethod(cls):
        return 'class method called', cls
     @staticmethod
    def staticmethod():
        return 'static method called'

第三个方法OurClass.staticmethod用@staticmethod装饰器标记,以将其标记为静态方法。

这种方法既不使用self也不使用cls参数,但可以接受任意数量的其他参数。

因此,静态方法无法修改对象状态或类状态。静态方法在可以访问哪些数据方面受到限制-它们主要是为方法命名空间的一种方法。我们可以从上面的代码中调用staticmethod,如下所示 

>>> obj = OurClass()>>> obj.staticmethod()
'static method called'