Python 静态方法
TJ Lerias
2023年1月30日
2021年7月13日
本文演示了如何在 Python 中创建和使用静态方法。
Python 静态方法
静态方法属于一个类;尽管如此,它并没有绑定到那个类的对象。因此,它可以在不创建它所在类的实例的情况下被调用。由于静态方法不绑定到对象,它不知道类的属性,因此它不能访问或修改类的属性班上。
创建和使用 Python 静态方法
首先,让我们创建一个实例方法,以便将其与静态方法区分开来。假设我们有一个 Coffee
类,它有一个名为 is_hot
的方法,它接受一个整数作为参数。如果给定的整数大于 50,则返回 True
,如果小于 50,则返回 False
。
class Coffee:
def is_hot(self, temperature):
return temperature > 50
coffee = Coffee()
print(coffee.is_hot(100))
输出:
True
在上面的例子中,coffee
,它是 Coffee
类的一个实例,被实例化为能够调用 is_hot
方法。
现在,让我们使用 @staticmethod
装饰器将 is_hot
变成一个静态方法。它是一个内置的装饰器,用于将方法定义为静态方法。
class Coffee:
@staticmethod
def is_hot(temperature):
return temperature > 50
print(Coffee.is_hot(100))
输出:
True
与我们在前面的示例中创建的实例方法不同,你不需要将 self
作为静态方法的参数传递,也不需要创建类的实例才能使用静态方法。你可以直接使用该过程。
或者,staticmethod()
函数可用于创建静态方法。这是一个内置函数,它接受一个函数作为参数并将它作为静态方法返回。
class Coffee:
def is_hot(temperature):
return temperature > 50
Coffee.is_hot = staticmethod(Coffee.is_hot)
print(Coffee.is_hot(100))
输出:
True
静态方法在创建独立执行任务的实用方法时很有用,因为它不需要访问或修改类的属性;它仅适用于参数中传递的数据。
总之,我们可以通过使用@staticmethod
装饰器或 staticmethod()
函数来创建一个静态方法。你不需要有一个类的实例来调用静态方法;我们可以简单地直接调用它。