(中職)Python編程基礎(chǔ)與應(yīng)用電子課件類的方法_第1頁
(中職)Python編程基礎(chǔ)與應(yīng)用電子課件類的方法_第2頁
(中職)Python編程基礎(chǔ)與應(yīng)用電子課件類的方法_第3頁
(中職)Python編程基礎(chǔ)與應(yīng)用電子課件類的方法_第4頁
(中職)Python編程基礎(chǔ)與應(yīng)用電子課件類的方法_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、正版課件 內(nèi)容可修改(中職)Python編程基礎(chǔ)與應(yīng)用電子課件類的方法類的方法主講: 朱海鑫:Python編程基礎(chǔ)與應(yīng)用配套課件+contents目錄Python類的成員方法簡介特殊方法公有方法、私有方法類方法和靜態(tài)方法Python類的成員方法簡介01Python類的成員方法可以分為公有方法、私有方法、靜態(tài)方法、類方法、抽象方法和一些特殊方法等。1)所謂的特殊方法是指方法的兩側(cè)各有兩個下畫線(_),它經(jīng)常與某個運算符或者內(nèi)置函數(shù)相對應(yīng)用,比如_init_()和_del_()就是這一類方法。2)私有方法的名字以兩個或者更多個下畫線開始。3)公有方法可以通過對象名直接調(diào)用。私有方法不能通過對象名直

2、接調(diào)用,可以在其它實例方法中通過前綴self進行調(diào)用,或在外部通過特殊的形式來調(diào)用。4)抽象方法一般定義在抽象類中并且要求派生類必須重新實現(xiàn)。本教材不對抽象類作研究。5)“實例方法”可以分為公有方法、私有方法、抽象方法和一些特殊方法。6)靜態(tài)方法和類方法不是“實例方法”,不屬于任何實例,不會綁定到任何實例,也不依賴于任何實例狀態(tài),因此與實例方法相比能減少很多開銷。7)靜態(tài)方法使用staticmethod為裝飾器,可以沒有參數(shù)。動態(tài)方法使用classmethod為裝飾器,它必須有參數(shù),并且一般以cls作為第一個參數(shù)表示該類本身。 Python類的成員方法簡介特殊方法02 1._init_()方法

3、_init_() 方法是一個特殊的類實例方法,稱為構(gòu)造方法(或構(gòu)造函數(shù))。構(gòu)造方法用于創(chuàng)建對象時使用,每當(dāng)創(chuàng)建一個類的實例對象時,Python 解釋器都會自動調(diào)用它。Python 類中,手動添加構(gòu)造方法的語法格式如下:def _init_(self,.): 代碼塊此方法的方法名中,開頭和結(jié)尾各有2個下劃線,且中間不能有空格。Python 中很多這種以雙下劃線開頭、雙下劃線結(jié)尾的方法,都具有特殊的意義。self 代表類的實例,self 在定義類的方法時是必須有的。 范例7-4:定義構(gòu)造方法并自動初始化汽車屬性下面我們來自定義構(gòu)造方法,初始化汽車屬性,傳入不同的weight和colour屬性值,創(chuàng)

4、建多少個Car對象:class Car: def _init_(self,sname,sweight,scolour): #構(gòu)造方法 =sname self.weight=sweight self.colour=scolour def run(self): print(str(self.weight)+頓重的+str(self.colour)+str()+的汽車在行駛中。)car1=Car(寶馬,4,藍(lán)色) #創(chuàng)建對象,傳入形參car1.run() #調(diào)用方法car2=Car(皇冠,3,黑色) #創(chuàng)建對象,傳入形參car2.run() 2._del_()方法

5、_del_()稱為析構(gòu)方法,當(dāng)對象被銷毀時執(zhí)行的操作,一般用于資源回收。Python有垃圾回收機制,程序結(jié)束時會自動調(diào)用_del_(),也可手動調(diào)用del語句刪除對象。語法格式如下:def _del_(self,.): 代碼塊 范例7-5:自動調(diào)用析構(gòu)方法的演示通過范例來說明一下自動調(diào)用析構(gòu)方法的演示:class Fruit: def _del_(self): print(析構(gòu)方法被調(diào)用)apple=Fruit()del appleprint(程序結(jié)束)從范例7-3的運行結(jié)果可以發(fā)現(xiàn),手動調(diào)用析構(gòu)方法是執(zhí)行del語句直接刪除對象。公有方法、私有方法03 公有方法、私有方法私有方法(privat

6、e)的定義如同私有屬性定義一樣,在方法名字前面加兩個下劃線“_”標(biāo)識符。公有方法(public)就是方法前面沒有加兩個下劃線“_”標(biāo)識符的方法,與私有方法相對而言。在類的內(nèi)部,使用 def 關(guān)鍵字可以為類定義一個私有方法或者公有方法方法,與一般函數(shù)定義不同,它們必須包含參數(shù) self,且為第一個參數(shù)。定義為私有方法,只有在類的內(nèi)部使用,在類的外部無法被訪問。私有類型的設(shè)定,使得類更加穩(wěn)定,更加安全。我們可以將一些不允許訪問或更改的屬性和方法設(shè)為私有類型,從而避免了由于使用該類時的失誤而導(dǎo)致類被更改。 范例7-6:私有方法和公共方法通過范例來說明一下私有方法和公共方法的使用:#類的定義class

7、 Women: #以下是構(gòu)造方法 def _init_(self,sname,sage): =sname #公共屬性name self._age=sage #私有屬性_age #以下是私有方法 def _info(self): #私有方法info,用于輸出私有屬性_age的值 print(%s 的年齡是 %d % (, self._age) #以下是公共方法 def talk(self,message): print(%s說了一句話:%s %(,message)#實例化xiaofang=Women(小芳,18) #實例化xiaofang._

8、Women_info() #強行訪問私有方法xiaofang.talk(今天天氣真好) #訪問公共方法類方法和靜態(tài)方法04 類方法和靜態(tài)方法類的方法有2種:靜態(tài)方法和類方法,其中staticmethod表示靜態(tài)方法,classmethod表示類方法。Python允許聲明屬于類本身的方法,即類方法。類方法不對特定的實例進行操作,在類方法中訪問對象實例屬性會導(dǎo)致錯誤。它的第一個參數(shù)必須為類對象的本身,通常為cls。類方法的語法格式如下:classmethoddef 類方法名(cls,形參列表): 函數(shù)體或者pass 類方法和靜態(tài)方法靜態(tài)方法沒有類似 self、cls 這樣的特殊參數(shù)。靜態(tài)方法的語法格式如下:staticmethod def 類方法名(形參列表): 函數(shù)體或者pass它們的特點和區(qū)別如下:1)使用staticmethod或classmethod就可以不需要實例化,直接用“類名.方法名()”來調(diào)用。2)staticmet

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論