Python高級編程-----元類(2)

何時使用元類:


說明性類說明


對於Django來說,有一個非常簡單直接的模型聲明方式,一個模型代表一個表,模型中屬性對應表的列。




本質上, 所完成工作:類的聲明、重組類屬性結構、然後使用新結構創建類。




用於類的驗證:


如果一個類必須遵循特定接口, 元類將是使其符合規範的有效方式。


http://blog.csdn.net/jinxiaonian11/article/details/53727339
(多重繼承super()函數,寫的很好,值得一看)


非繼承屬性


使類中特定的屬性不會自動繼承


顯而易見的方式:允許類設置abstract屬性,並且僅僅在abstract未設置或者設置爲false時才執行元類
的功能。


會有一個問題出現:子類將繼承abstract屬性




解決辦法:


通過attrs字典彈出abstract值來實現


顯示選擇的問題:


顯式比隱式更好 適用大多數場合


meta-Coding(元代碼)


callable:  方法用來檢測對象是否可被調用,可被調用指的是對象能否使用()括號的方法調用




http://www.cnblogs.com/kellyseeme/p/5525041.html


(裝飾器的閉包,值得一看)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章