Python 中的巢狀類| D棧

文章推薦指數: 80 %
投票人數:10人

Python 中的巢狀類. Python · Python Class. 創建時間: ... Python貼士 Python中的條件賦值運算子 使用Python播放Mp3檔案 使用Python檢查作業系統 在Python中從字串中刪除逗號 Python中如何將位元組bytes轉換為整數int 如何將整型int轉換為位元組bytes 如何在Python中獲取和增加最大遞迴深度 如何建立和啟用Python虛擬執行環境virtualenv reportthisad 貼士文章 Python貼士 Python中的巢狀類 類包含不同的資料成員和函式,並允許我們建立物件來訪問這些成員。

Python作為一種物件導向的程式語言,有很多這樣的不同類的物件。

在Python中,我們有一個重要的建構函式,叫做__init__,每次建立類的例項時都會呼叫它,我們還有self關鍵字來引用類的當前例項。

巢狀類(也叫內類)是在另一個類中定義的。

它在所有物件導向的程式語言中都是非常常用的,可以有很多好處。

它並不能提高執行時間,但可以通過將相關的類歸為一組來幫助程式的可讀性和維護,而且還可以將巢狀類隱藏起來,不讓外界看到。

下面的程式碼展示了一個非常簡單的巢狀類的結構。

classDept: def__init__(self,dname): self.dname=dname classProf: def__init__(self,pname): self.pname=pname math=Dept("Mathematics") mathprof=Dept.Prof("Mark") print(math.dname) print(mathprof.pname) 輸出: Mathematics Mark 注意,我們不能直接訪問內部類。

我們使用outer.inner格式建立其物件。

我們可以訪問外類中的巢狀類,但不能反過來訪問。

要訪問外類中的巢狀類,我們可以使用outer.inner格式或self關鍵字。

在下面的程式碼中,我們對上述類做了一些改動,並使用父類訪問巢狀類的一個函式。

classDept: def__init__(self,dname): self.dname=dname self.inner=self.Prof() defouter_disp(self): self.inner.inner_disp(self.dname) classProf: definner_disp(self,details): print(details,"FromInnerClass") math=Dept("Mathematics") math.outer_disp() 輸出: MathematicsFromInnerClass 在Python中,我們也可以有多個巢狀類。

這種情況稱為多巢狀類,有一個或多個內類。

也可以有一些情況,我們在一個巢狀類中有一個巢狀類,這種情況稱為多級巢狀類。

下面的程式碼展示了一個非常簡單的多級巢狀類的例子。

classDept: def__init__(self,dname): self.dname=dname classProf: def__init__(self,pname): self.pname=pname classCountry: def__init__(self,cname): self.cname=cname math=Dept("Mathematics") mathprof=Dept.Prof("Mark") country=Dept.Prof.Country("UK") print(math.dname,mathprof.pname,country.cname) 輸出: MathematicsMarkUK 相關文章-PythonClass Pythonnew關鍵字 Python中的類方法 Python中類建構函式的可選引數 在Python中使用getitem Python中的巢狀字典Python中的異常訊息 reportthisad x



請為這篇文章評分?