python是一種面向對象的語言移盆。
Python中通過使用類(class)和對象(object)來實現面向對象
面向對象有三大特點:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1. ?封裝: ?將一些列功能和屬性集合在對象中,以實現代碼復用性蚁孔。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2. 繼承: ?每個類都可以有父類坝初,父類中定義了常用的方法寞忿,子類可以對這些 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?方 法 進行擴展苛坚,并可以定義自己的方法中鼠。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3. 多態(tài): ?子類都可以對父類的方法進行覆寫,同樣繼承于父類的方法蚊伞,不同 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 的 子 類可以有不同的表現形式席赂,這就是多態(tài)。
類: ? 類是抽象的,在使用的時候通常會找到這個類物的一個具體的存在,使用這個具體的存在厚柳。一個類可以找到多個對象
定義一個類(類名規(guī)則按照 ‘大駝峰’ ): ? class ?類名:
類的構成: ? 1. ?類名
? ? ? ? ? ? ? ? ? ? ? ? 2. ?類的屬性
? ? ? ? ? ? ? ? ? ? ? ? ?3. ?類的方法(行為,功能)
對象: ?對象是面向對象的核心沐兵;某一個具體事物的存在别垮,在現實世界中可以看的見,摸得著扎谎√枷耄可以直接使用
--init--()默認屬性 ?, 在創(chuàng)建對象后系統(tǒng)本身就會默認調用
打印內存地址:id()
id使用方法:print(id(對象))
保護對象的屬性(私有屬性): 它是以屬性命名方式來區(qū)分毁靶,如果在屬性名前面加了2個下劃線’__’胧奔,則表明該屬性是私有屬性,否則為公有屬性(方法也是一樣预吆,方法名前面加了2個下劃線的話表示該方法是私有的龙填,否則為公有的)
del() ?刪除方法: ?當刪除一個對象時,python解釋器也會默認調用一個方法
單繼承: ??通俗的說:子女繼承父輩財產 ? , 子類在繼承的時候岩遗,在定義類時扇商,小括號()中為父類的名字。父類的屬性宿礁、方法案铺,會被繼承給子類
方法: class ?子類(父類):
多繼承: ? ?一個子類會繼承多個父類 ?, python中是可以多繼承的同樣梆靖,父類中的方法控汉、屬性,子類會繼承
注: 假如:父類A 和父類B 有一個同名方法返吻,通過子類去調用的時候會按照先后順序進行調用?
重寫 : ? ? 就是子類中姑子,有一個和父類相同名字的方法,在子類中的方法會覆蓋掉父類中同名的方法
多態(tài): 一花開五葉思喊; 龍生九子壁酬,子子不同。的意思 ??父類的同一個方法在不同子類對象中具有不同的表現和行為且子類還有特定的一些特征
類屬性和實例屬性: ? ?實例屬性(對象屬性)
類方法: ?需要用修飾器@classmethod來標識其為類方法恨课,對于類方法舆乔,第一個參數必須是類對象,一般以cls作為第一個參數(類方法可以對類屬性進行修改)