單元5 面向?qū)ο蟮腜ython_第1頁
單元5 面向?qū)ο蟮腜ython_第2頁
單元5 面向?qū)ο蟮腜ython_第3頁
單元5 面向?qū)ο蟮腜ython_第4頁
單元5 面向?qū)ο蟮腜ython_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

單元5面向?qū)ο蟮腜ythonPython不僅支持面向過程的程序設(shè)計(jì),它還是一種面向?qū)ο蟮木幊陶Z言。5.1定義和使用類類的定義和使用跟函數(shù)的定義和使用有很多相似的地方。5.1.1定義類使用關(guān)鍵字“class”直接定義class<類名>: <語句1> <語句2>

… <語句3>通過繼承的形式進(jìn)行定義class<類名>(父類名): <語句1> <語句2> … <語句3>5.1.2使用類要使用類需要將類具體化,生成一個(gè)對象類實(shí)例化一個(gè)對象使用類中包含的變量(屬性)或函數(shù)(方法)類的實(shí)例化:類名加圓括號對象名=類名()5.2類的屬性和方法每一個(gè)類都具有自己的屬性和方法。屬性和方法是面向?qū)ο蟪绦蛟O(shè)計(jì)所獨(dú)有的概念。屬性是類所封裝的數(shù)據(jù)方法則是類對數(shù)據(jù)進(jìn)行的操作5.2.1類的屬性類的屬性實(shí)際上是類內(nèi)部的變量。私有屬性私有屬性的調(diào)用__xxself.__xx5.2.2類的方法類的方法實(shí)際上是類內(nèi)部的函數(shù)。1.定義類的方法使用def關(guān)鍵字定義。必須包含參數(shù)“self”,且“self”必須為第一個(gè)參數(shù)5.2.3類的專有方法以兩條下劃線開始并且以兩條下劃線結(jié)束的方法,稱之為類的專有方法。方法描述__init__(self,…)構(gòu)造函數(shù),生成對象時(shí)調(diào)用__del__(self)析構(gòu)函數(shù),釋放對象時(shí)調(diào)用__new__(cls,*args,**kwd)實(shí)例的生成操作__str__(self)在使用print語句時(shí)被調(diào)用__setitem__設(shè)置屬性的值__delattr__(s,name)刪除name屬性__cmp__(src,dst)比較兩個(gè)對象src和dst__getattr__(s,name)獲取屬性的值__getitem__(self,key)獲取序列的索引key對應(yīng)的值,等價(jià)于seq[key]__len__(self)在調(diào)用內(nèi)聯(lián)函數(shù)len()時(shí)被調(diào)用__call__(self,*args)把實(shí)例對象作為函數(shù)調(diào)用1.__init__()類的構(gòu)造函數(shù),用于初始化類的內(nèi)部狀態(tài)。2.__new__()在新式類中新出現(xiàn)的方法,它作用在構(gòu)造方法建造實(shí)例之前。決定是否要使用該__init__()方法可以實(shí)現(xiàn)設(shè)計(jì)模式中的單例模式只能實(shí)例化1個(gè)對象3.__getitem__()如果類中把某個(gè)屬性定義為序列,可以使用__getitem__()輸出序列屬性中的各個(gè)元素。4.__str__()__str__()用于表示對象代表的含義,返回1個(gè)字符串。5.3類的繼承一個(gè)新類可以通過繼承來獲得已有類的方法以及屬性等。通過繼承而來的類也可以自己定義新的方法和屬性。5.3.1類的繼承可以繼承父類的公有屬性和公有方法。判斷是否繼承借助issubclass()函數(shù)issubclass(class,classinfo)5.3.2多重繼承是指創(chuàng)建的類同時(shí)擁有幾個(gè)類的屬性和方法。在類名后邊的圓括號中可以包含多個(gè)父類名父類名之間以逗號隔開5.4類的重寫為什么重寫重寫這些屬性或方法父類中的屬性或方法不一定滿足類的需要在子類中重新定義一個(gè)與父類屬性或方法同名的屬性或方法5.5裝飾器它可以快速地給不同的函數(shù)或類插入相同的功能。使用特殊的符號“@”來實(shí)現(xiàn)5.5.1裝飾函數(shù)將“@裝飾器名稱”放在函數(shù)定義行之前即可。如:裝飾器名稱為my_time裝飾函數(shù)@my_ti

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論