Python學(xué)習(xí)之旅 讀書筆記系列
Day 7
《Python編程從入門到實(shí)踐》
第9章 類
知識點(diǎn)
- 面向?qū)ο缶幊恬x類的通用行為板鬓,實(shí)例化
- 使用類可以模擬任何東西
- 創(chuàng)建類 class 類名() """...""" def init(self,形參2悲敷,形參3)
- 類名首字母要大寫
- 要編寫文檔字符串描述功能
- 類的函數(shù)稱為方法
- 形參1為self,必不可少俭令,且要放在最前面
- init 開頭和末尾各有下劃線后德,避免發(fā)生名稱沖突
- 訪問類的屬性和調(diào)用方法(記得采用描述性名稱)
- 訪問屬性 句點(diǎn)表示法 self.屬性
- 調(diào)用方法 句點(diǎn)調(diào)用任何方法 .()
- 根據(jù)類可以創(chuàng)建任意數(shù)量的實(shí)例,存儲在不同變量中
- 使用類和實(shí)例
- 給屬性指定默認(rèn)值:每個(gè)屬性必須有初始值抄腔,0或空字符串亦可
- 修改屬性值:
- 直接通過實(shí)例修改(最簡單) 類.屬性 = 實(shí)例
- 通過方法設(shè)置: 定義函數(shù) -> 方法(類中)瓢湃,傳遞給方法
- 通過方法遞增:屬性值遞增特定量 類.屬性 += 實(shí)例
- 繼承
- 利用現(xiàn)成類,子類可繼承父類所有屬性和方法赫蛇,還可定義自己的
- class 子類(父類):
- def init(self, 形參2绵患,形參3)
- super().init(形參2,形參3) (需縮進(jìn))
- 創(chuàng)建子類注意:
- 父類必須包含在當(dāng)前文件中悟耘,且在子類前面
- 必須括號內(nèi)指定父類的名稱
- 給子類定義屬性和方法
- 放在super()語句下方
- 可重寫父類的方法
- 重寫棄其糟粕藏雏,定義同一方法(重名)
- Python只會使用子類的,忽略父類的
- 大類拆分小類
- 類越來越長,可將需要的部分作為獨(dú)立的類提取出來
- 模擬實(shí)物
- 根據(jù)實(shí)物特性掘殴,選擇類的使用
- 無對錯(cuò)赚瘦,只有效率差異,多實(shí)踐
- 利用現(xiàn)成類,子類可繼承父類所有屬性和方法赫蛇,還可定義自己的
- 導(dǎo)入類(有效編程方式奏寨,可使用類所有功能起意,且存儲獨(dú)立,可專注主程序邏輯)
- 單個(gè)類: from 模塊 import 類 (1個(gè)模塊可存儲多個(gè)類)
- 導(dǎo)入多個(gè)類:from 模塊 import 類1病瞳,類2(任意數(shù)量)
- 導(dǎo)入整個(gè)模塊:import 模塊 (用句點(diǎn)訪問類揽咕,更清晰)
- 導(dǎo)入所有類:from 模塊 import * (不推薦,名稱易沖突套菜;句點(diǎn)可清楚知道哪些地方導(dǎo)入了模塊)
- 跨模塊導(dǎo)入:from 模塊1 import 類1亲善; from 模塊2 import 類2
- Python標(biāo)準(zhǔn)庫
- Python自帶的一組模塊,安裝是包含
- from 模塊名 import 類
- 標(biāo)準(zhǔn)庫多熟悉了解可用的常見情形的模塊
- 也可下載外部模塊
其他
- 理念
- 面向?qū)ο缶幊炭膳嘤?xùn)邏輯思維能力
- 自定義工作流程
- 一開始盡可能讓代碼結(jié)構(gòu)簡單
- 確定一切正常運(yùn)行后逗柴,再將類移到獨(dú)立模塊中
- 先編寫出可行代碼蛹头,再嘗試組織有序
- 注意事項(xiàng)(類的編碼風(fēng)格:駝峰命名法)
- 1.類名每個(gè)單詞首字母都大寫,不使用下劃線
- 2.實(shí)例名和模塊名都采用小寫格式戏溺,單詞間加下劃線
- 3.每個(gè)類都要緊跟文檔字符串描述功能
- 4.每個(gè)模塊也應(yīng)包含文檔字符串描述功能
- 5.空行不要濫用:類中使用1個(gè)空行分隔方法渣蜗,模塊中使用2個(gè)空行分隔類
- 6.需同時(shí)導(dǎo)入標(biāo)準(zhǔn)庫和其他時(shí),優(yōu)先import標(biāo)準(zhǔn)庫模塊旷祸,再添加1個(gè)空行耕拷,然后才導(dǎo)入其他模塊