【JulyEdu-Python基礎】第 6 課:高級面向對象

使用@property添加屬性和自定義屬性框架

 

__slots__和property

方法和屬性的動態綁定函數

使用__slots__限定class實例能添加的屬性單元測試

__slots__僅對當前類實例起做用,對繼承的子類是不起做用的。測試

 

直接暴露屬性的侷限性對象

使用get/set方法繼承

利用@property簡化get/set方法get

利用@property實現只讀屬性it

裝飾器與property實現(學有餘力的同窗能夠研究一下)io

 

特殊方法與類的定製

類的默認行爲與定製編譯

常見特殊方法

 

枚舉類

枚舉 vs 變量

@unique幫助去重

 

元類

運行時動態建立 vs 編譯時定義

使用type建立新類型

metaclass(元類)

  metaclass -> class -> instance

  繼承和動態綁定能夠解決問題嗎?

  __new__函數

ORM框架實例分析

 

異常與錯誤處理

爲何使用異常?

異常的拋出與捕捉

traceback使用

logging使用與配置(本身baidu)

 

單元測試

爲何須要單元測試

unittest使用

mock介紹與使用

 

做業

利用@property給一個Screen對象加上width和height屬性,以及一個只讀屬性resolution。

本身實現一遍ORM例子代碼

實現一個類,支持用如下方式輸出小於1000的全部素數

  for i in Prime1000(): print(i)

本身去查資料,經過實現__getitem__支持切片操做

相關文章
相關標籤/搜索