python用类名直接调用方法_Python类的实例方法、静态方法、类方法详解,附代码示例...
實例方法
普通實例方法(instance method),第一個參數需要是self,它表示一個具體的實例本身,只能被實例對象調用,通過self引用的可能是類屬性、也有可能是實例屬性。
實例方法訪問類屬性、實例屬性,類方法、實例方法、靜態方法。
靜態方法
靜態方法(static method),使用裝飾器@staticmethod來定義靜態方法,不需要參數self 。靜態方法屬于類,與實例無關,因此可以被類對象直接調用。也正是因為靜態?法中不需要額外定義參數,因此要在靜態?法中引?類屬性,必須通過類對象來引?。
在TestOps類中,定義了一個類屬性time,每次調用common()這個靜態方法的時候都返回包含類屬性的信息,但是當類名變化時,那么該靜態方法中的類屬性TestOps.time也需要變成對應類名.time,這個問題可以用類方法解決。
注意,靜態方法不能訪問實例屬性和實例方法。
類方法
類方法(class method),使用裝飾器@classmethod來定義類方法,至少傳入一個cls參數,且為第一參數,通過cls引用的必定是類對象的屬性和方法,執行類方法時,自動將調用該方法的類賦值給cls參數。
使用類方法,就可以解決上述使用靜態方法出現的問題,當類名改變,對類方法進行修改。
注意,類方法也不能訪問實例屬性和實例方法。最后,實例方法只能被實例對象調用,靜態方法(被@staticmethod裝飾)、類方法(被@classmethod裝飾),可以被類或類的實例對象調用。
類中靜態方法調用靜態方法與類方法調用靜態方法實現
通過如下實例了解靜態方法、類方法之間的相互調用。
總結
以上是生活随笔為你收集整理的python用类名直接调用方法_Python类的实例方法、静态方法、类方法详解,附代码示例...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二分类最优阈值确定_机器学习 | 详解G
- 下一篇: python怎样实现封装_大牛教你如何封