@staticmethod
是 Python 中的一个装饰器,用于定义静态方法(static method)。
在 Python 类中,通常可以定义实例方法(instance method)和类方法(class method)。实例方法是最常见的方法,第一个参数是实例对象(通常被命名为 self
),通过它可以访问实例的属性和其他方法。类方法的第一个参数是类本身(通常被命名为 cls
),通过它可以访问类的属性和其他方法。
而静态方法则不依赖于实例或类的特定状态,因此不需要对应的实例或类对象作为第一个参数。静态方法使用 @staticmethod
装饰器进行标记,它们在类的命名空间中,但与类的实例无关。
静态方法的定义方式如下:
class MyClass:
@staticmethod
def my_static_method(arg1, arg2):
# 静态方法的实现
pass
调用静态方法时,不需要创建类的实例,可以直接通过类名调用:
MyClass.my_static_method(value1, value2)
静态方法常用于与类相关但不依赖于实例状态的操作。