程式設計法,就是程式設計的各種方法(廢話)。有點像演算法(發展出新的結構功能),但這裡的程式設計法是指程式原本的結構與可實現的語法,且其特性跟其本身風格有關係。演算法 == 寫程式的方法 , 程式設計法 == 語言結構
就是一個程式可支援多種不同形式的程式設計法(語法),運用不同語法就可吸收不同的優缺點
python的範程有:物件導向、指令式、函數式、程序式、面向切面
所以就先從認識各種程式設計法來了解python的特色八~
像迴圈 if..elif…else 都是結構式的表達 使用結構式表達的語言在遇到複雜程式較能讓人類讀懂。如果沒有結構式,基本上程式碼都會冗長且較複雜。在結構還沒誕生之前大家都使用goto 來陳述,goto 的壞處是只有2個選擇:要嘛全執行 要嘛跳出 這對程式的維護是一大考驗。有了結構式 代碼可以簡化,如:迴圈代替了重複執行代碼 就不會像以前的組合語言,要用重複的程式碼 還要考慮暫存器的問題
與程序式有點像,指令就是一種電腦一種參考 所以其變數值是可變的 但所有的指令或變數都要由設計者來定義 且用多少就要定義多少
是一種遵從電腦邏輯的一種方式 只是它把每個程式碼都用函數來做表達 就會像d(x) 有雙向的值(分別為輸入與輸出值) 但因為此特性 執行時會浪費硬體資源。
是一種具物件概念的程式設計法 同時也是這次深入學習的重點,把每個程式碼看成單一物件 如此一來要調用或執行 能夠提高擴充性 , 活用性 , 以及效率,高階語言多半採用此方法。並且每個物件都能接受 , 處理 , 傳達資料給其他物件 而不用寫程式時還要觀察詳細運作模式與io方式。
指令跟命令的差別在於 指令有一種不是非常確定的感覺,但命令就好像發號施令一樣 一個口令一個動作來執行 所以設計起來會較正規化 並且不需要提供非常明確的動作 因為細節會被程式庫提供 要做的只需要宣告用意即可 就使用內建代碼一樣
簡單來講就是將程式觀點以『剖面』方式來抽離 概念有點像在外部程式嵌入一個不影響整體程式的功能,如此一來便能檢查或加入一些服務,像後面會提的裝飾器就是最簡單的AOP,常用在安全防護 , 讀取log檔或非重要資源檔。