面向?qū)ο笕腴T對象編程體驗理解對象對象優(yōu)越性課程簡介培訓(xùn)對象技能目標(biāo)了解面向?qū)ο缶幊痰幕局R 掌握Python語言中類的定義與使用方法 掌握Python中類的屬性與方法及其應(yīng)用 掌握Python中類繼承與多態(tài)、方法重載 會用繼承和組合來完成項目的面向?qū)ο蠓治龊痛a實現(xiàn)
怎樣學(xué)習(xí)面向?qū)ο笈c面向過程產(chǎn)生背景編程方法代碼主體結(jié)構(gòu)數(shù)據(jù)操作主體由函數(shù)/過程進行加工與展現(xiàn) 在對象的方法中加工與展現(xiàn)
模擬方法編程思維搞清處理數(shù)據(jù)的步驟 面向?qū)ο蠓治?/span>
運行效率定義和使用類最簡類定義類實例化類與實例之間關(guān)系有特征和能力的類實例化步驟添加類說明(docstring)新式類與經(jīng)典類Python 2.x版本 默認(rèn)為是經(jīng)典類 繼承object為新式類
Python 3.x版本 區(qū)別 經(jīng)典類繼承為深度優(yōu)先 新式類繼承為廣度優(yōu)先
課后思考類和實例是什么關(guān)系? 類的屬性和方法分別代表什么? 類實例化的基本步驟是什么?
描述對象的特征實例屬性類屬性類定義后就存在,而且不需要實例化 類屬性使得相同類的不同實例共同持有相同變量
私有屬性不提供限制屬性訪問的關(guān)鍵字(無法限制類的各種屬性在類外直接訪問) 使用__開頭的變量名加以標(biāo)志,只有類對象自己能訪問 使用_開頭的變量名加以標(biāo)志,應(yīng)該只有類對象及其子類能訪問(非強制性)
特殊屬性保存對象的元數(shù)據(jù) doc name dict module base
作業(yè)讓對象具有能動性類的方法的定義類的方法的調(diào)用與普通的函數(shù)調(diào)用類似 在類的內(nèi)部調(diào)用:self.<方法名>(參數(shù)列表) 在類的外部調(diào)用:<實例名>.<方法名>(參數(shù)列表) 注:以上兩種調(diào)用方法中,提供的參數(shù)列表中都不用包括self
類內(nèi)方法相互調(diào)用構(gòu)造方法及其作用構(gòu)造方法就是前面課程提到和使用的init()方法 構(gòu)造方法的作用就是在類實例化時初始化實例 init()方法就是類實例化的第二步自動調(diào)用的函數(shù) 注意其方法名是固定的,但其參數(shù)同普通方法一樣,至少應(yīng)帶有self參數(shù) 初始化實例包括:定義和初始化實例屬性;或調(diào)用類的一些方法 構(gòu)造方法可以帶有除self外的其它各種參數(shù)(關(guān)鍵字參數(shù)、默認(rèn)參數(shù)、用元組收集參數(shù)、用字典收集關(guān)鍵字參數(shù)等);可以達(dá)到在實例化類時,為相應(yīng)的屬性傳入指定的值。
提醒作業(yè)深入類的屬性同名的類屬性與實例屬性屬性訪問的特殊方法(反射)提供用字符串來操作類的屬性/方法的方式 主要工具函數(shù)
屬性包裝描述符call()讓類的實例如函數(shù)一樣可調(diào)用作業(yè)
|