Python 静态方法

TJ Lerias 2023年1月30日 2021年7月13日
  1. Python 静态方法
  2. 创建和使用 Python 静态方法
Python 静态方法

本文演示了如何在 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() 函数来创建一个静态方法。你不需要有一个类的实例来调用静态方法;我们可以简单地直接调用它。

相关文章 - Python Class