Python類方法和靜態方法的區別是什么?Python類方法 靜態方法有哪些異同點

python之中能夠通過關鍵字class創建出類這種和模板有點相同的結構,而在類中定義的函數被稱為方法,根據定義方式不同也會分為不同類型 。下面這一篇文章主要介紹的內容就是,python類方法和靜態方法之間的區別,對此感興趣和想了解的話就一起看看吧 。

Python類方法和靜態方法的區別是什么?Python類方法 靜態方法有哪些異同點


一、裝飾器不同
類方法和靜態方法之間最明顯的差異就是使用的裝飾器不同了,而裝飾器本質上就是一個能夠來拓展函數功能的函數 。類方法使用裝飾器@classmethod來進行裝飾,而靜態方法則使用@staticmethod裝飾器 。
而它們二者之間的共同點也在于裝飾器,也就是類方法與靜態方法都需要使用指定裝飾器才能夠定義 。
二、參數不同
類方法之中是必須要有一個參數,而這個參數的名稱通常是cls,且該參數需要放在第一的位置 。而這個參數表示的意思實際上就是類本身,是用來指代這個類自己的 。而靜態方法不需要任何強制定義任何參數,它參數列表內沒有參數也是可以的 。
三、調用方式相同
以上兩點就是類方法以及靜態方法的不同點,而它們之間最為顯著的相同點則是調用方式不同 。因為這兩種類型的方法都不需要通過類實例對象調用,直接用類名點方法名就是可以去調用了,并且在調用時都不需要傳入任何參數,詳細代碼示例如下所示:
class Book:  @classmethod  def class_method(cls):    print(f"called class method of {cls}")  @staticmethod  def static_method():    print("Called static method")Book.class_method()Book.static_method()以上就是關于“Python類方法和靜態方法的區別是什么?Python類方法
【Python類方法和靜態方法的區別是什么?Python類方法 靜態方法有哪些異同點】靜態方法有哪些異同點”的全部內容了,希望對你有所幫助 。
Python類方法和靜態方法的區別是什么?Python類方法 靜態方法有哪些異同點


Python類方法和靜態方法的區別是什么?Python類方法 靜態方法有哪些異同點


Python類方法和靜態方法的區別是什么?Python類方法 靜態方法有哪些異同點


微信掃碼,學習更方便
Python類方法和靜態方法的區別是什么?Python類方法 靜態方法有哪些異同點


現在報名贈100例知識點合集
Python類方法和靜態方法的區別是什么?Python類方法 靜態方法有哪些異同點


    猜你喜歡