当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python staticmethod()用法及代码示例


Python staticmethod() 函数用于将函数转换为静态函数。静态方法是属于类而不是类的实例的方法。静态方法不需要实例化。

用法:staticmethod(function)

参数:

staticmethod() 方法采用单个参数,即它采用函数作为参数。



返回值:

staticmethod() 返回作为参数传递的函数的静态方法。

范例1:staticmethod()的应用实现

Python3


class demoClass:
    def greet(msg):
        return msg
# convert the add to a static method
demoClass.greet = staticmethod(demoClass.greet)
# we can access the method without
# creating the instance of class
print(demoClass.greet("hai"))

输出:

hai

在上面的代码中,创建了一个方法为 greet() 的类,然后将其转换为使用 staticmethod() 的静态方法,并且在不创建实例的情况下调用它,正如我们前面讨论的那样,不需要创建类的实例来调用一种静态方法。

范例2:staticmethod()的应用实现

Python3


class demoClass:
    def __init__(self, a, b):
        self.a = a
        self.b = b
    def add(a, b):
        return a+b
    def diff(self):
        return self.a-self.b
# convert the add to a static method
demoClass.add = staticmethod(demoClass.add)
# we can access the method without creating
# the instance of class
print(demoClass.add(1, 2))
# if we want to use properties of a class
# then we need to create a object
Object = demoClass(1, 2)
print(Object.diff())

输出:

3
-1

如果我们不需要使用类属性,那么我们可以使用静态方法,在上面的代码中,add() 方法不使用任何类属性,因此使用 staticmethod() 将其设置为静态,并且需要通过创建实例来调用 diff 方法因为它使用类属性。




相关用法


注:本文由纯净天空筛选整理自mohan1240760大神的英文原创作品 Python staticmethod() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。