python類屬性學習深入講解
class MyClass(): # 直接將屬性定義在類中,這種屬性稱為 類屬性 # 類屬性可以通過實列對象和類對象訪問,但是隻能通過類對象修改 # 類屬性都是用來保存一些公共的數據 a = 10 def __init__(self): # 可以直接將屬性添加到實列對象中,此時這個屬性稱為實例屬性 # 實例屬性隻能被實例訪問和修改,無法被類訪問和修改 # 一般情況下定義的都是實例屬性 self.b = 'hello' # 在類中直接定義的方法,稱為實例方法 # 實例方法,可以通過實例對象和類對象調用 # 但是註意:通過類對象調用時,不會自動傳遞self def fn(self): print('我是fn方法') # 在方法前添加classmethod,則該方法自動變成類方法 # 類方法的第一個參數默認是cls表示當前的類對象 # 並且類方法既可以通過實例對象調用也可以通過類對象調用 @classmethod def fn2(cls): print('我是fn2方法', cls) # 添加staticmethod裝飾器的方法是 靜態方法 # 靜態方法可以通過類和實例調用,並且沒有任何默認參數 # 靜態方法是和對象無關的方法,一般靜態方法都是一些工具方法 # 覺得沒有地方放瞭,就放到一個類中 @staticmethod def fn3(): print('我是fn3方法') mc = MyClass() # mc.a = 50 MyClass.a = 30 print(mc.b) print(MyClass.a) MyClass.fn(mc) MyClass.fn2() mc.fn2() MyClass.fn3() mc.fn3()
到此這篇關於python_類屬性學習的文章就介紹到這瞭,更多相關python_類屬性學習內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python學習之裝飾器與類的裝飾器詳解
- Python創建類的方法及成員訪問的相關知識總結
- python中的classmethod與staticmethod
- Python類方法總結講解
- python進階之魔術方法詳解