slots魔法:

            
               當我們需要限定自定義類型的對象只能綁定某些屬性,可以通過在類中定義__slots__變量來進行限定。
 __slots__的限定只對當前類的對象生效,對子類并不起任何作用。
            
          

靜態(tài)方法和類方法:

            
              靜態(tài)方法可解決對象未創(chuàng)建出來的問題。
案例:例如我們定義一個正方形類,通過四個邊長來構(gòu)造正方形,并提供計算面積的方法。
            
          

python----03(面向?qū)ο筮M階02)_第1張圖片 python----03(面向?qū)ο筮M階02)_第2張圖片

定義類方法:

            
              類方法的第一個參數(shù)約定名為cls,它代表的是當前類相關(guān)的信息的對象(類本身也是一個
對象,有的地方也稱之為類的元數(shù)據(jù)對象),通過這個參數(shù)我們可以獲取和類相關(guān)的信息并且可以創(chuàng)建
出類的對象。
案例:數(shù)字時鐘
            
          

python----03(面向?qū)ο筮M階02)_第3張圖片 python----03(面向?qū)ο筮M階02)_第4張圖片 python----03(面向?qū)ο筮M階02)_第5張圖片

繼承和多態(tài):

            
              繼承:追根溯源,可以使得子類具有父類的屬性和方法或者重新定義、追加屬性和方法等。
多態(tài):不同的子類對象會表現(xiàn)出不同的行為。

 例(1)、通過繼承計算兩數(shù)之和。   
            
          

python----03(面向?qū)ο筮M階02)_第6張圖片

            
              例(2)、帶參繼承。
            
          

python----03(面向?qū)ο筮M階02)_第7張圖片

裝飾器:

            
              使用裝飾器的時候,需要注意:
1. 裝飾器名,函數(shù)名需要一致.
2. property需要先聲明,再寫setter,順序不能倒過來
3. 如果你希望一點變量只是被訪問不能被修改,那么可以使用訪問器@property
4. 如果要修改訪問器中的變量,可以搭建一個修改器,或者刪除訪問器.
例:將前面的兩數(shù)求和,函數(shù)本身第三個數(shù)乘上這個和。
            
          

python----03(面向?qū)ο筮M階02)_第8張圖片

不定長參數(shù)

            
               *args :位置傳參。
            
          

python----03(面向?qū)ο筮M階02)_第9張圖片

            
                ** kwargs:帶參數(shù)名的傳參。
            
          

python----03(面向?qū)ο筮M階02)_第10張圖片

            
               不定長參數(shù):
            
          

python----03(面向?qū)ο筮M階02)_第11張圖片

案例:裝飾器帶參數(shù)

python----03(面向?qū)ο筮M階02)_第12張圖片

生成器:

            
              優(yōu)點:節(jié)約內(nèi)存空間。
缺點:計算速度慢,因為要生成。
            
          

python----03(面向?qū)ο筮M階02)

列表生成式:

            
              優(yōu)點:計算速度快,因為一次性已經(jīng)全部加載到內(nèi)存中了,適合數(shù)據(jù)不是太大的情況10000-2000-
缺點:占用內(nèi)存。
            
          

python----03(面向?qū)ο筮M階02)