python @staticmethod装饰器

@staticmethod是一个装饰器,用于声明一个静态方法。静态方法是一个属于类而不是属于实例的方法,可以直接通过类名调用,而不需要创建实例。

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

下面是一个示例:

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

值得注意的是,@staticmethod可以被@classmethod替代。@classmethod也是一个装饰器,用于声明一个类方法,类方法与静态方法类似,但是它可以接收一个指向类的参数cls,并可以用来访问类属性或调用其他类方法。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/python-built-in-functions/python-staticmethod.html

分类: 计算机技术
推荐阅读:
Python使用集合实现内容去重 有这么一个场景,某个文件用于记录人名(也可以是URL或者其他的),编辑发现,出现了重复的内容。那么我们如何使用Python来进行去重呢?
Qt在Windows11下的视觉效果 作者更新到Windows11了,来看看Qt在Windows11下的视觉效果;变化比较明显的是窗口,PushButton控件和输入框控件;
MySQL ASCII()函数 ASCII(str)函数返回字符串str第一个字符的ASCII码;如果str是NULL则返回NULL;
Go语言的多返回值 Go语言革命性地在静态开发语言阵营中率先提供了多返回值功能。这个特性让开发者可以从原来用各种比较别扭的方式返回多个值的痛苦中解脱出来,既不用再区分参数列表中哪几个用于输入,哪几个用于输出,也不用再只为了返回多个值而专门定义一个数据结构。
Golang中的map数据类型 map 是一堆键值对的未排序集合;在Go语言中,使用map不需要引入库,它是一种内置的数据类型。
Python内置函数大全 该文档详细讲解了几乎所有的Python内置函数,并提供了相关示例;