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