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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。