1:2.x與3.x區別:
2.x:老式類,都繼承自object,繼承機制為深度優先
3.x:新式類不需要寫(object),繼承機制為廣度優先
2:類說明:
在定義類下用"""......"""包裹
查看方法:classname.__doc__ or help(classname)
3:classname()即是實例化,一般會賦值給一個變量
4:實例化過程:
1):__new__()方法建立實例
2):__init__()方法初始化實例
*自定義元類即是改變這兩個方法其一或both
4:類里定義普通方法記得第一個參數都是self
5:類的特殊屬性:
__doc__:類的文檔屬性
__name__:類的名稱
__base__:分類名稱
6:__xxx__()為特殊方法-->有詳解
e.g:__len__() len([1,2,3]) == [1,2,3].__len__()
__add__()
__call__() 使類可以象函數一樣調用
__slot__() 限制類可以添加的屬性
__iter__ 如果一個類想被用于for ... in循環,類似list或tuple那樣,就必須實現一個__iter__()方法,該方法返回一個迭代對象
7:子類不能夠繼承父類的私有屬性和方法!
新聞熱點
疑難解答