@staticmethod是一个装饰器,用于声明一个静态方法。这种方法不需要访问类或实例,相当于定义在类命名空间中的普通函数。

静态方法与普通方法的区别在于,它没有访问类或实例属性的权限,因为它不会接收selfcls或其他实例参数。

@staticmethod 使用示例

class MathUtils:
    @staticmethod
    def add(a, b):
        return a + b

    @staticmethod
    def subtract(a, b):
        return a - b

print(MathUtils.add(2, 3))        # 5
print(MathUtils.subtract(7, 5))   # 2