python自學筆記3(think-python)

函數部分一些概念:(個人的粗糙理解)

1、何爲封裝?用函數把一段代碼封裝起來,下次使用這段代碼時可以直接調用函數,無需複製粘貼函數體。

2、何爲泛化?給函數添加參數,適應不同條件下的使用。如squreArea()可以計算長方形的面積,在沒有參數的情況下我們徐奧在函數體中給定所求長方形的長和寬。泛化之後—squreArea(int L ,int W)可以接收參數,函數體內部只需給定計算的函數和返回值即可。

3、何爲重構?與C++  C#中的重構不同,python上的重構是說在一個函數的基礎之上,我們細化了參數,改進了接口,增強了代碼的再利用,這就叫重構。

例如:有一個繪製多線段的函數ployLine(t,n,length,angle),其中n是邊的條數,length是邊長,angle是邊與邊之間的角度,t在這裏指的是python的烏龜模塊turtle。我們可以通過改進接口(也就是參數),來重構實現繪製多邊形polygon和圓弧arc:

再在arc的基礎上,我們進一步實現圓circle的繪製:

這個過程就叫做重構。

而C++ 和C#中的重構一般是指改變參數的類型和個數,來實現同一函數名不同參數調用可以適用不同的情況。例如:

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章