python 类的静态方法和类方法

J.sky
Python基础
2017/9/30

静态方法和类方法的定义

Python中类的静态方法使用@staticmethod装饰器来定义 Python中类方法使用@classmethod装饰器来定义

class Hello:
    k = 2
    #定义一个类的静态方法
    @staticmethod
    def add(x,y):
        return x + y
    #定义一个类方法
    @classmethod
    def mul(cls,x):
        return cls.k * x

print(Hello.add(999,1))#使用静态方法 结果为1000
print(Hello.mul(2))#使用类方法 结果为4

类的静态方法使用和使用普通函数一样简单,但类方法确有些不同,她只能用于类本身,把自身做为对象进行操作。 我们继承一下Hello这个类,看看静态方法和类方法是不是能被继承?

class World(Hello):
    k = 4

print(World.add(1,999))
print(World.mul(2))

通过上边的例子,我们可以发现子类可以继承使用父类方法和父类的静态方法,如果类变量值有所变化,结果也会有所不同。

本文源码下载:

相关文章