Python教程之-第11章-Python的面向?qū)ο?上)_第1頁
Python教程之-第11章-Python的面向?qū)ο?上)_第2頁
Python教程之-第11章-Python的面向?qū)ο?上)_第3頁
Python教程之-第11章-Python的面向?qū)ο?上)_第4頁
Python教程之-第11章-Python的面向?qū)ο?上)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第11章

面向?qū)ο缶幊蹋ㄉ希っ嫦驅(qū)ο缶幊獭?/p>

類和對(duì)象·

構(gòu)造方法和析構(gòu)方法·

self的使用·運(yùn)算符重載了解掌握掌握掌握

學(xué)習(xí)目標(biāo)了解面向?qū)ο缶幊趟枷?2掌握類和對(duì)象的定義和使用掌握self的使用34掌握構(gòu)造方法的使用01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法目錄頁04self的使用05運(yùn)算符重載過渡頁01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法04self的使用05運(yùn)算符重載01面向?qū)ο缶幊谈攀雒嫦驅(qū)ο蟪绦騿T“面向?qū)ο蟆痹诂F(xiàn)實(shí)世界中存在各種不同形態(tài)的事物,這些事物之間存在著各種各樣的聯(lián)系。在程序中使用對(duì)象來映射現(xiàn)實(shí)中的事物,使用對(duì)象間的關(guān)系來描述事物之間的聯(lián)系,這種思想就是面向?qū)ο蟆>幊趟枷?/p>

實(shí)現(xiàn)步驟特點(diǎn)面向過程開始游戲先分析解決問題的步驟使用函數(shù)把這些步驟以此實(shí)現(xiàn)使用的時(shí)候需要逐個(gè)調(diào)用函數(shù)黑子先走繪制畫面輪到白子。繪制畫面判斷輸贏返回步驟2輸出最后結(jié)果面向?qū)ο蠛诎纂p方:這兩方的行為一樣把解決問題的事物分為多個(gè)對(duì)象對(duì)象具備解決問題過程中的行為棋盤系統(tǒng):負(fù)責(zé)繪制畫面規(guī)則系統(tǒng):負(fù)責(zé)判斷諸如犯規(guī)、輸贏等。分別使用面向過程和面向?qū)ο髞韺?shí)現(xiàn)五子棋面向?qū)ο笕艏尤牖谄骞δ?,面向過程和面向?qū)ο?,分別怎么實(shí)現(xiàn)呢?面向過程面向?qū)ο髲妮斎氲脚袛嗟斤@示的一系列步驟都需要改動(dòng)只需要改動(dòng)棋盤對(duì)象就可以更簡(jiǎn)便!面向?qū)ο筮^渡頁01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法04self的使用05運(yùn)算符重載02類和對(duì)象類和對(duì)象的關(guān)系面向?qū)ο缶幊逃袃蓚€(gè)非常重要的概念:類和對(duì)象。對(duì)象是面向?qū)ο缶幊痰暮诵?。具有相似特征和行為的事物的集合統(tǒng)稱為類

對(duì)象是根據(jù)類創(chuàng)建的,一個(gè)類可以對(duì)應(yīng)多個(gè)對(duì)象。類和對(duì)象的關(guān)系可以把玩具模型看作一個(gè)類把每個(gè)玩具看作一個(gè)對(duì)象類的定義類是由3部分組成的:類的名稱:類名,首字母必須大寫,比如Person。類的屬性:一組數(shù)據(jù),比如性別。類的方法:允許進(jìn)行操作的方法,比如說話。類的定義使用class關(guān)鍵字來聲明一個(gè)類,基本格式如下:

class類名:

類的屬性

類的方法語法格式根據(jù)類創(chuàng)建對(duì)象根據(jù)類創(chuàng)建對(duì)象的語法格式如下:

對(duì)象名=類名()要想給對(duì)象添加屬性,可以通過如下方式:對(duì)象名.新的屬性名=值過渡頁01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法04self的使用05運(yùn)算符重載03構(gòu)造方法和析構(gòu)方法構(gòu)造方法構(gòu)造方法指的是__init__方法。當(dāng)創(chuàng)建類的實(shí)例的時(shí)候,系統(tǒng)會(huì)自動(dòng)調(diào)用構(gòu)造方法,從而實(shí)現(xiàn)對(duì)類進(jìn)行初始化的操作。構(gòu)造方法classCar: def__init__(self):self.color=“黑色” deftoot(self):

print("%s的車在鳴笛..."%(self.color))

bmw=Car("雪山白")析構(gòu)方法當(dāng)刪除一個(gè)對(duì)象來釋放類所占用資源的時(shí)候,Python解釋器默認(rèn)會(huì)調(diào)用另外一個(gè)方法,這個(gè)方法就是__del__()方法。__del__方法被稱為析構(gòu)方法。過渡頁01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法04self的使用05運(yùn)算符重載04self的使用self的使用在方法的列表中,第1個(gè)參數(shù)永遠(yuǎn)都是self。self的字面意思是自己,我們可以把它當(dāng)做C++里面的this指針理解,表示的是對(duì)象自身。當(dāng)某個(gè)對(duì)象調(diào)用方法的時(shí)候,Python解釋器會(huì)把這個(gè)對(duì)象作為第1個(gè)參數(shù)傳給self,開發(fā)者只需要傳遞后面的參數(shù)就可以了。self的使用classDog:def__init__(self,newColor):self.color=newColordefprintColor(self):

print("顏色為:%s"%self.color)

dog1=Dog("白色")

dog1.printColor()

示例:過渡頁01面向?qū)ο缶幊谈攀?2類和對(duì)象03構(gòu)造方法和析構(gòu)方法04self的使用05運(yùn)算符重載05運(yùn)算符重載運(yùn)算符重載是通過實(shí)現(xiàn)特定的方法使類的實(shí)例對(duì)象支持Python的各種內(nèi)置操作。例如:+運(yùn)算符是類里提供的__add__這個(gè)函數(shù),當(dāng)調(diào)用+實(shí)現(xiàn)加法運(yùn)算的時(shí)候,實(shí)際上是調(diào)用了__add__方法。運(yùn)算符重載運(yùn)算符重載方法說明何時(shí)調(diào)用方法__add__加法運(yùn)算對(duì)象加法:x+y,x+=y

__sub__減法運(yùn)算對(duì)象減法:x-y,x-=y

__mul__乘法運(yùn)算對(duì)象乘法:x*y,x*=y

__diy__除法運(yùn)算對(duì)象除法:x/y,x/=y

__getitem__索引,分片x[i]、x[i:j]、沒有__iter__的for循環(huán)等__setitem__索引賦值x[i]=值、x[i:j]=序列對(duì)象__delitem__索引和分片刪除delx[i]、delx[i:j]

加法運(yùn)算符重載加法運(yùn)算是通過調(diào)用__add__方法完成重載的,當(dāng)兩個(gè)實(shí)例對(duì)象執(zhí)行加法運(yùn)算時(shí),自動(dòng)調(diào)用__add__方法。z=x+y執(zhí)行加法運(yùn)算,實(shí)質(zhì)是調(diào)用__add__方法索引和分片重載跟索引相關(guān)的重載方法包括如下3個(gè):__getitem__:索引、分片;__setitem__:索引賦值;__delitem__:索引和分片刪除。1.

__getitem__方法在對(duì)實(shí)例對(duì)象執(zhí)行索引、分片或者for迭代操作時(shí),會(huì)自動(dòng)調(diào)用__getitem__方法。索引和分片重載#定義索引、分片運(yùn)算符重載方法def__getitem__(self,index):returnself.data[index]2.

__setitem__方法通過賦值語句給索引或者分片賦值時(shí),調(diào)用__setitem__方法實(shí)現(xiàn)對(duì)序列對(duì)象的修改。索引和分片重載def__setitem__(self,index,value):self.data[index]=value3.

__delitem__方法當(dāng)調(diào)用del方法時(shí),實(shí)質(zhì)上會(huì)調(diào)用__delitem__方法實(shí)現(xiàn)刪除操作。索引和分片重載def__delitem__(self,index):delself.data[in

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論