静态方法不绑定类也不绑定实例,相当于给方法添加了一个前缀。定义静态方法将引入一个新的概念——装饰器

class Animal:
    name = '动物'

    @staticmethod
    def play():
        print('playing')
        

Animal.play()

输出结果:

playing

从这个例子里可以看到看,定义静态方法的语法就是在定义函数的上面一行加上一句@staticmethod,注意,在@staticmethod的下方不能空行。

很明显的看到,静态方法少了默认参数self。所以,静态方法本身也不可以调用类里面的其他成员变量以及成员方法。如果调用会报错’xxx not defined’

使用静态方法的时候,不需要实例化就可以使用,和类变量一样的使用方法即可。其他的和一般函数没有区别

你也可能喜欢

发表评论