1.
python
的程式元件包括函式、類、模組和包。「模組
」是包含函式和類定義的檔案。許多
模組可以組合成乙個集合,稱為「包
」。2.
模組位於
python
安裝目錄的庫目錄下。在
unix/linux
下,是/usr/lib/python2.2
或/usr/local/lib/python2.2,
在windows
上,則是
\python\lib
。3.
函式定義中建立的所有變數都是
「區域性變數
」--只存在於宣告它們的函式中。
4.
python
定義了3
個命名空間,分別是區域性(
local
),全域性(
global
)和內建(
built-in
)。程式訪問識別符號的值時,
python
會按特定順序搜尋命名空間(即按區域性,全域性和內建順序)。
5.
import random as randommodule
指定引用名。現在可以用
randommodule
來引用random
中的函式。
6.
重複使用重複的結構,如
for和
while
;遞迴使用選擇結構,如if和
if/else
。之間的差別
是,重複採用乙個重複結構,而遞迴採用重複的函式呼叫。兩者都要進行終止測試:重複會
在迴圈繼續條件為
false
時終止;遞迴在識別出基本條件是終止。由計數器控制的重複和遞
歸都是逐漸終止:重複會不斷改變乙個計數器,直到計數器的值使迴圈繼續條件變為
false
;遞迴則不斷對原始問題進行簡化,直到抵達基本條件。重複和遞迴都可無休止地進行:如果
迴圈繼續檢測永遠都不能變成
false
,會發生無限迴圈;如果遞迴呼叫永遠不能將問題簡化
成基本條件,會發生無窮遞迴。
7.
函式的預設引數設定需在
def語句中定義。如:
def test(aa=1,bb=2,cc=3):***
。8.
關鍵字引數可以不按位置順序出現在函式呼叫中。用
keyword = value
方式就可以了。
4.2.
良好的程式設計習慣
1.
盡快熟悉核心
python
模組提供的函式和類集合。
2.
避免變數名遮蔽外層作用域中的名稱。為此,要注意避免識別符號與內建命名空間中的標
識符同名,並避免在程式中使用重複的識別符號。
3.
使用預設引數可簡化函式呼叫的編寫,但有的程式設計師認為,顯式指定所有引數會使程式
更易讀。
4.3.
常見程式設計錯誤
1.
用區域性命名空間中的乙個識別符號遮蔽模組或內建命名空間中的乙個識別符號,可能引起邏
輯錯誤。
2.
預設引數必須全部靠右。省略非靠右的引數是語法錯誤。
4.4.
移植性提示
1.
使用核心
python
模組中的函式,通常可使用程式更易移植。
4.5.
軟體工程知識
1.
避免重複別人的勞動。盡量使用標準庫模組函式,不要寫新函式。這樣可加快程式開發
進度,並增強可靠性。因為你所使用的是經良好設計和測試的**。
2.
每個函式都應該只限執行單一的、良好定義的任務,函式名應清楚地描述那個任務。
3.
如果實在想不出能準確表達函式作用的名稱,就表明函式可能執行了太多的分散任務,
通常,最好把這種函式分解成多個更小的函式。
4.
程式應寫為若干個小函式的集合。這樣使程式更易編寫、除錯、維護和修改。
5.
如函式需要大量的引數,表明它執行的任務可能過多。請考慮將函式分解成更小的函式,
令其執行單獨的任務。函式的
def語句盡可能不超過一行。
6.
採用遞迴方式能解決的任何問題也可採用重複方式(非遞迴方式)解決。如果遞迴方式
能夠更自然地反映問題,並使程式易於理解和除錯,通常應該首選遞迴方式。通常,只需幾
行**就可完成乙個遞迴方式,重複方式則相反,它需要大量的**來實現。選擇遞迴的另
乙個原因是,重複方案也許不是很直觀。
7.
採用清晰的、層次清楚的方式對程式進行
「函式化
」,有助於保證良好的軟體工程,但
效能上要付出一定代價。
4.6.
效能提示
1.
不要試圖改寫現成的模組函式使其更高效,因為這些函式已非常完美了。
2.
一般不要編寫會造成呼叫次數成指數級增加的
「斐波拉契
」式遞迴程式。
3.
避免對效能要求高的時候使用遞迴。遞迴呼叫既費時、又耗記憶體。
4.
乙個由多個函式構成的程式,與乙個沒有任何函式的一體式程式相比,會產生大量的函
數呼叫,這些函式呼叫會占用大量的處理器時間和記憶體。但另一方面,一體式程式的程式設計、
測試、除錯和維護都比較複雜。因此對程式進行函式化時要綜合考慮。保證能兼顧良好的性
能和軟體工程。
《Python程式設計金典》 函式
1.python 的程式元件包括函式 類 模組和包。模組 是包含函式和類定義的檔案。許多 模組可以組合成乙個集合,稱為 包 2.模組位於 python 安裝目錄的庫目錄下。在 unix linux 下,是 usr lib python2.2 或 usr local lib python2.2,在wi...
《Python程式設計金典》 控制流程
1.所謂 演算法 是指解決乙個問題的 過程 它包含兩個含義,1是要採取的行動,2 是採取這些行動的順序。2.研究表明,只要三種結構就可以寫出所有程式,這三種結構是 順序結構,選擇結構以 及重複結構。3.演算法求精,就是把演算法用偽 逐層分解成可以用 python 程式實現的過程。4.符號將符號右邊的...
基礎金典程式設計整理(一)
public class shuixianhua 求s a aa aaa aaaa aa a的值,其中a是乙個數字,public class aaa system.out.println s 判斷設101 200之間有多少個素數,並輸出所有的素數public class allprimenumber...