Python 中的靜態類

Hemank Mehtani 2023年1月30日 2021年10月2日
  1. 在 Python 中使用 @staticmethod 裝飾器建立靜態類
  2. 在 Python 中使用 @classmethod 裝飾器建立靜態類
  3. 在 Python 中使用模組檔案建立靜態類
Python 中的靜態類

靜態類是程式設計中的一個方便的特性。靜態類不能被繼承,也不能被例項化。沒有直接的方法可以使類成為靜態。在 Python 中,我們可以通過將其方法和變數設為靜態來實現靜態類。

在本文中,我們將實現此類方法。

在 Python 中使用 @staticmethod 裝飾器建立靜態類

為了實現一個靜態類,我們可以將它的方法和變數設為靜態。為此,我們可以使用@staticmethod 裝飾器在靜態類中建立方法。裝飾器是在函式之前指定的特殊函式,並將整個函式作為引數。

例如,

class abc(object):
    @staticmethod
    def static_method():
        print("Hi,this tutorial is about static class in python")

abc.static_method()

輸出:

Hi,this tutorial is about static class in python

請注意,此方法僅適用於高於 2.6 的 Python 版本。

在 Python 中使用 @classmethod 裝飾器建立靜態類

@classmethod 可以使類的方法靜態化,而不是其物件的靜態方法。與@staticmethod 裝飾器相比,它有幾個優點。它還可以與子類一起使用並可以修改類狀態。

但是,它需要在名為 cls 的方法中包含一個強制引數。

請參考以下程式碼。

class abc(object):
  @classmethod
  def static_method(cls):
        print("Hi,this tutorial is about static class in python")
        
abc.static_method()

輸出:

Hi,this tutorial is about static class in python

在 Python 中使用模組檔案建立靜態類

在 Python 中,實現靜態類的最好方法可能是建立一個模組。我們可以匯入一個模組,並且可以使用模組名稱訪問其功能。它不需要例項化任何物件,也不能被繼承。

請參考以下示例。

def static_method():
    print("Hi this is the content of the module file")
    

上面的程式碼可以是 Python 指令碼中的一個簡單函式,可以作為模組匯入。

例如,如果上面的 Python 指令碼的名稱是 abc.py,我們可以執行如下所示的操作。

import abc
abc.static_method()

輸出:

Hi,this tutorial is about static class in python

相關文章 - Python Class