Python 的内置函数 staticmethod

Python 内建函数列表 > Python 的内置函数 staticmethod

Python 的内置函数 staticmethod 用于将一个方法转换为静态方法。静态方法不需要隐式地传递任何参数(如 selfcls),它们与普通函数类似,但属于类的命名空间。

使用方法

  1. 定义静态方法:在类中使用 @staticmethod 装饰器来定义静态方法。

    class MyClass:
        @staticmethod
        def static_method(arg1, arg2):
            return arg1 + arg2
    
  2. 调用静态方法:可以通过类名或实例调用静态方法,无需传递 selfcls 参数。

    # 通过类名调用
    result = MyClass.static_method(1, 2)  # 输出 3
    

特性和应用场景

  1. 无绑定参数:静态方法不需要 selfcls 参数,因此它们不能访问或修改类或实例的状态。
  2. 逻辑分组:如果某个方法与类相关,但不需要访问实例或类属性,可以将其定义为静态方法,以保持代码的逻辑分组。
  3. 工具函数:静态方法常用于实现与类相关的工具函数,例如输入验证、辅助计算等。

示例

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

# 调用静态方法
print(MathUtils.add(5, 3))  # 输出 8

注意事项

  • 静态方法不能访问类属性或实例属性,除非通过类名或实例显式传递。
  • 如果方法需要访问类或实例的状态,应使用实例方法或类方法(@classmethod)代替。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容