Python静态方法
时间:2020-02-23 14:43:21 来源:igfitidea点击:
Python静态方法
在这篇快速文章中,我们将学习如何创建和使用Python静态方法。
我们还将看看静态方法与实例方法相比有哪些优点和缺点。
让我们开始吧。
什么是静态方法?
Python中的静态方法与python类级别的方法极为相似,不同之处在于静态方法绑定到一个类而不是该类的对象。
这意味着可以在没有该类对象的情况下调用静态方法。
这也意味着静态方法无法修改对象的状态,因为它们没有绑定到对象。
让我们看看如何在Python中创建静态方法。
创建python静态方法
Python静态方法可以通过两种方式创建。
让我们看看这里的每种方式:
使用staticmethod()
让我们直接跳至示例代码段,了解如何使用" staticmethod()"方法:
class Calculator: def addNumbers(x, y): return x + y # create addNumbers static method Calculator.addNumbers = staticmethod(Calculator.addNumbers) print('Product:', Calculator.addNumbers(15, 110))
请注意,我们在没有对象的情况下调用了我们创建的addNumbers。
当我们运行该程序时,将获得以下输出:毫无意外。
这种方法在每个地方都受到控制,因此也可以从类方法中创建静态方法。
让我们在这里查看带有相同示例的另一种方法。
使用@staticmethod
这是创建静态方法的一种更微妙的方法,因为我们不必依赖于将方法定义为类方法的语句定义,并在使其变为静态的每个位置使其变为静态。
让我们在代码段中使用此注释:
class Calculator: # create addNumbers static method @staticmethod def addNumbers(x, y): return x + y print('Product:', Calculator.addNumbers(15, 110))
运行此程序时,将获得以下输出:这实际上是创建静态方法的一种更好的方法,因为一旦创建并使用@staticmethod进行标记,就保持了静态方法的意图就明确了
注释。
Python静态方法的优点
静态方法有一个非常明确的用例。
当我们需要一些功能而不是一个对象但需要一个完整的类时,我们将方法设为静态。
当我们需要创建Utility方法时,这是非常有利的,因为它们通常与对象生命周期无关。
最后,请注意,在静态方法中,我们不需要将" self"作为第一个参数传递。