在傳統的程式設計中,通常使用資料型別對變數進行分類。不同資料型別的變數擁有不同的屬性,如整形變數用於儲存整數,字串變數用於儲存字串。資料型別實現了對變數的簡單分類,但並不能完整的描述事物。
在日常生活中要描述乙個事務,就要說明他的屬性,也要說明他所能進行的操作。例如,如果將人看做乙個事物,他的屬性包含姓名,性別,生日,職業,身高,體重等,他能完成的動作包括吃飯,行走,說話等。將人的屬性和能夠完成的動作結合在一起,就可以完整的描述人的所有特徵了。
物件導向的程式設計思想正是基於這種設計理念,將事務的屬性和方法都包含在類中,而物件則是類的乙個例項。如果將人定義為類的話,那麼某個具體的人就是乙個物件。不同的物件擁有不同的屬性值。
在python中,可以使用class關鍵字來宣告乙個類,其基本語法如下:
class 類名:
成員變數
成員函式
靜態變數和靜態方法是類的靜態成員,他們與普通的成員變數和成員方法不同,靜態類成員與具體的物件沒有關係,而是只屬於定義他們的類。
在類中可以定義靜態變數,與普通的成員變數不同,靜態類成員與具體的物件沒有關係,而是只屬於他們的類。
python不需要顯式定義靜態變數,任何共有變數都可以作為靜態變數使用。訪問靜態變數的方法如下:型別.變數名
與靜態變數相同,靜態方法只屬於定義它的類,而不屬於任何乙個具體的物件。靜態方法具有如下特點:
(1)靜態方法無須傳入self引數,因此靜態方法中無法訪問例項變數
(2)在靜態方法中不可以直接訪問類的靜態變數,但可以通過類名引用靜態變數
可以使用@staticmethod定義靜態方法
使用isinstance()函式可以用來監測乙個給定的物件是否屬於某個類或型別,如果是則返回true;否則返回false。其使用方法如下:isininstance(物件名,類名或型別名)
通過繼承機制,使用者可以很方便的繼承其他類的工作成果。如果有乙個設計完成的類a,可以從其派生出乙個子類b,類b擁有類a的所有屬性和函式,這個過程叫做繼承。類a被稱為類b的父類。
可以通過賦值操作賦值物件,方法如下:
新物件名=原有物件名
python 物件導向程式設計
新式類 class mynewobjecttype bases define mynewobjecttype class class suite經典類 沒有指定乙個父類,或者子類化的基本類沒有父類,就建立了乙個經典類 class mynewobjecttype define mynewobjectt...
Python物件導向程式設計
class mynewobjecttype bases define mynewobjecttype class class suite例項化 myfirstobject mynewobjecttype class mydatawithmethod object defprintfoo self p...
python物件導向程式設計
程式設計正規化 程式設計時程式設計師用特定的語法 資料結構 演算法組成的 在計算機上執行任務的過程。實現乙個任務有不同的方式,對這些不同的程式設計方式的特點進行歸納總結得出的程式設計方式類別,即為程式設計正規化。不同的程式設計正規化本質上代表對各種型別的任務採取的不同的解決問題的思路,兩種最重要的程...