python類的程式設計 python中的類程式設計

2021-10-11 14:51:22 字數 1896 閱讀 5487

1.python類中的幾個特殊函式

(1)__new__  是建立類的物件的函式,相當於c++中建構函式。

(2)__init__ 會在__new__之後被呼叫,用來初始化物件的。

(3)__del__ 是物件將要被銷毀的時候被呼叫,用來將物件所占用的記憶體資源釋放給作業系統,相當於c++中的析構函式。

2.python中類定義和使用

class shape:      #定義類shape

def draw(self):

print "draw a shape"

def setname(self, name):

self.name = name

def getname(self):

print self.name

class rectangle(shape):   #定義類rectangle,並繼承父類shape

def draw(self):   #覆寫|重寫draw方法

print "darw a rectangle"

if __name__ == "__main__":

shape = shape()

shape.setname("shape")

shape.getname()

shape.draw()

rect = rectangle()

rect.setname("rectangle")

rect.getname()

rect.draw()

備註:(1)成員方法的第乙個引數必須是self,表示物件自身。

(2)python支援多繼承,書寫形式為:class rectangle(shape, color),表示rectangle有兩個父類(shape和color)。如果在shape和color有乙個相同的成員,按照繼承書寫的先後順序,前面的父類覆寫後面的父類,即sharp類中的方法覆寫color類。

3.在python的class宣告中,幾個需要注意的地方

(1)變數分為例項變數和類變數;方法分為例項方法、類方法和靜態方法。

(2)對於例項變數,只能通過例項來訪問變數。而對於類變數,既可以通過例項來訪問變數,也可以直接類來訪問變數。

(3)對於例項方法,只能通過例項來訪問。對於類方法,既可以通過例項,也可以直接通過類來訪問。對於靜態方法,既可以通過例項,也可以直接通過類來訪問。

(4)在變數和方法的命名前加上雙下劃線,表示的是私有變數或私有方法。對外是不可以見的。

(5)在python中,變數名類似__***__的,也就是以雙下劃線開頭,並且以雙下劃線結尾的,是特殊變數,特殊變數是可以直接訪問的,不是private變數

4.pyhon中私有成員的定義

在python中如果將乙個成員前面加上雙下劃線(__),就表示該成員是私有成員,不能通過物件直接訪問,需要通過物件的public介面間接地訪問。

python中私有成員和其他語言中的私有成員不太一樣,python中的私有成員通過一定的特殊方式還是可以訪問的。這就和python語言底層實現私有成員的方案有關。在python中私有成員的其實是使用了「名稱變化術「。具體說來,就是python將類的內部定義的以雙下劃線(__)的成員」翻譯「成前面加上單下劃線和型別的形式。

例如在類bird中有def __talk(self): 成員方法,我們可以通過obj._bird__talk()來訪問。

5.新式類 & 舊式類

由於python的版本變化,形成了新式類和老式類,有一些特性在老式類中是不支援的,因此在使用老式類已經沒有必要了。因為在定義乙個類的時候,需要註明使用新式類。標註類為新式類有兩種方法:

法一:在模組檔案的開頭新增如下語句

__metaclass__ = type  #使用新式類

法二:定義新類時,顯式地繼承object類

class myclass(object):  #繼承類object

python類中包含類 徹底搞懂Python中的類

python類的定義 python 中定義乙個類使用 class 關鍵字實現,其基本語法格式如下 class 類名 多個 0 類屬性.多個 0 類方法.注意,無論是類屬性還是類方法,對於類來說,它們都不是必需的,可以有也可以沒有。另外,python 類中屬性和方法所在的位置是任 意的,即它們之間並沒...

python是高階動態程式語言 Python語言

python是一門跨平台 開源 免費的解釋型高階動態程式語言。python支援命令式程式設計 how to do 函式式程式設計 what to do 完全支援物件導向程式設計,擁有大量擴充套件庫。膠水語言 可以把多種不同語言編寫的程式融合到一起實現無縫拼接,更好地發揮不同語言和工具的優勢,滿足不同...

Python程式設計學習第十二課之Python的注釋

當我們編寫的程式 量很大,而且內部邏輯關係非常複雜的時候,閱讀 是非常吃力的。所以我們的程式設計師寧願自己重新寫 也不願意去熟悉別人的 那麼,實際編寫 的過程之中,對 加筆記說明就顯得尤為重要了。在這裡,針對 的筆記被稱為注釋。在之前的幾節課裡面,我們已經不止一次用過注釋了,如下圖所示,以 符號開頭...