1.物件:物件是資料和功能(函式)的集合體
2. 類:類是具有共同屬性(資料、函式)的物件的總稱
注:先定義類後例項化物件
3. 屬性訪問:可以通過__dict__訪問屬性的值
4. 屬性查詢和方法繫結:物件的命名空間裡只存放著物件獨有的屬性,而物件們相似的屬性是存放於類中的。物件在訪問屬性時,會優先從物件本身的__dict__中查詢,未找到,則去類的__dict__中查詢
1.隱藏屬性(__)
2.開放介面
3.property
1.通過類的內建屬性__bases__可以檢視類繼承的所有父類
2.屬性查詢
3.廣度優先
4.pyton mixins機制
5.子類可以派生出自己新的屬性,在進行屬性查詢時,子類中的屬性名會優先於父類被查詢
6.組合
1.多型指的是一類事物有多種形態
2.多型性的本質在於不同的類中定義有相同的方法名,這樣我們就可以不考慮類而統一用一種方式去使用物件,可以通過在父類引入抽象類的概念來硬性限制子類必須有某些方法名
import abc
# 指定metaclass屬性將類設定為抽象類,抽象類本身只是用來約束子類的,不能被例項化
class
animal
(metaclass=abc.abcmeta)
: @abc.abstractmethod # 該裝飾器限制子類必須定義有乙個名為talk的方法
deftalk
(self)
:# 抽象方法中無需實現具體的功能
pass
class
cat(animal)
:# 但凡繼承animal的子類都必須遵循animal規定的標準
deftalk
(self)
:pass
cat=cat(
)# 若子類中沒有乙個名為talk的方法則會丟擲異常typeerror,無法例項化
3.只需要製造出外觀和行為相同物件,同樣可以實現不考慮物件型別而使用物件,這正是python崇尚的「鴨子型別」(duck typing python物件導向學習 python物件導向學習
物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...
python學習 物件導向
繼承 從已經有的類建立新類的過程,提供繼承資訊的叫父類 超類 基類 得到繼承資訊的叫子類 派生類 繼承是實現 復用的方式,繼承關係是一種is a關係。a student is a person.a teacher is a person.class person 定義人類 屬性name 名字 屬性n...
python學習 物件導向程式設計
物件導向程式設計 object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。面向過程的程式設計把電腦程式視為一系列的命令集合,即一組函式的順序執行。為了簡化程式設計,面向過程把函式繼續切分為子函式,即把...