python 类的静态方法和类方法

作者:J.sky · 发表于:
2017-09-30T09:31:31.000000Z
· 更新于:
2023-08-13T22:54:33.234776Z
· Tag: Python基础

静态方法和类方法的定义

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))

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

本文源码下载: