python筆記(一): 面向?qū)ο?/h1>

C語言基礎(chǔ)語法(多次執(zhí)行一次編譯, 面向過程, 顯式聲明數(shù)據(jù)類型), 個人感覺如果不會不影響入門python
(萬物皆對象
相同的特征(屬性)和行為(方法)對象的抽象定義(對象的模版

萬物皆對象
整數(shù)是int
類對象, 小數(shù)是float
類對象, 函數(shù)function
類對象, 類是type
對象
不同對象都通過標識符命名
對象有什么用呢~
使用python實現(xiàn)軟件時:
應(yīng)該達到健壯性, 適配性, 重用性的目標
健壯性: 輸入預期輸入能產(chǎn)生對應(yīng)輸出, 并有能力處理異常輸入
適配性: 適應(yīng)硬件環(huán)境或操作系統(tǒng)平臺變化
重用性: 相同代碼可以在不同系統(tǒng)或不同程序中使用
并且遵循模塊化, 抽象, 封裝的原則
模塊化就是軟件系統(tǒng)的不同組件需要分成獨立功能單元的組織原則. 好處是: 方便測試和調(diào)試, 方便bug跟蹤修改, 有利于提高軟件重用性
抽象就是提取復雜系統(tǒng)中的基礎(chǔ)部分, 清晰命名和描述功能. 好處是: 減少代碼冗余, 方便代碼重用, ?提高程序健壯性和重用性
封裝就是保證軟件系統(tǒng)組件實現(xiàn)不呈現(xiàn)內(nèi)部實現(xiàn)細節(jié), 能夠保密, 不用過多關(guān)心內(nèi)部實現(xiàn). 好處是: 方便功能修改, 簡化bug修復, 還能同時保證健壯性和適配性
可以遵循設(shè)計, 實現(xiàn), 測調(diào)的步驟
設(shè)計: 在“做什么”的基礎(chǔ)上,解決軟件“怎么做”的問題
實現(xiàn): 用代碼描述"怎么做"方法
測調(diào): 驗證實現(xiàn)是否正確, 修改不正確的地方
模塊化: Python中對模塊化有利支持就是: 一個模塊文件
.py
封裝了一組關(guān)系相近的函數(shù)與類鴨子類型, 假定對象支持某種類型一系列行為, 如果執(zhí)行過程中沒問題, 那么就是這個類型的對象(看到一個鳥, 走起來, 游起來, 叫起來都像鴨子, 那就叫它鴨子); 還可以定義ABC(抽象基類)

函數(shù)封裝, 類封裝和非公有機制(受保護成員
_name
和私有屬性成員__name
e.實現(xiàn)步驟的問題/方法/工具
設(shè)計階段
問題: 數(shù)據(jù)分類(有什么對象, 怎么拆分類, 類之間聯(lián)系, 類需要表示那些行為和動作)
方法: 根據(jù)職責劃分, 盡量保持獨立, 精準定義行為
工具: 類圖(類, 特征, 行為, 關(guān)聯(lián)), 偽代碼(自然語言+高級程序語言, 描述數(shù)據(jù)結(jié)構(gòu)與代碼)

實現(xiàn)階段
問題: 代碼可讀性差, 功能難以理解
方法: 統(tǒng)一代碼風格, 編寫模塊文檔, 函數(shù)文檔, 類文檔
工具: PEP(Python Enhancement Proposals), IDE
測調(diào)階段
問題: 軟件正確性難以保證, 軟件錯誤不好定位
方法: 單元測試和斷點調(diào)試
工具: pycharm(一種pythonIDE, 支持斷點調(diào)試), unittest(python單元測試工具)

自學筆記~
如果有錯~
期待大佬指出~
感謝幫助提升~