以mark lutz著的《python學習手冊》為教程,每天花1個小時左右時間學習,爭取兩周完成。 --- 寫在前面的話
2013-7-22 22:00 學習筆記
1,每乙個python檔案都是乙個模組。模組將變數名封裝進了自包含的軟體包,這一點可以避免變數名的衝突。
2,匯入模組不同於c語言中的#include,並非只是把乙個文字內容插入到另乙個檔案中。匯入其實是執行時運算。
3,import會依次搜尋以下目錄:
程式的主目錄
pythonpath目錄
標準鏈結庫目錄
任何.pth檔案的內容
這個四個元件組合起來就是sys.path。
4,import b 會載入如下檔案:
如果在相同目錄下找到b.py和b.so,python會遵循一定的標準進行挑選,但這個挑選順序並不能保證永遠不變,因此不要依賴這個挑選標準。
5,以位元組碼的形式分發程式,可以避免公開源**。
7,from會把變數名複製到另乙個作用域,避免使用模組來引用。*表示複製模組中的所有變數。例如:
import module1
module1.printer('hello world')
from module1 import printer
printer('hello world')
from module1 imort *
printer('hello world')
8,預設情況下,import匯入只發生一次,因為該開銷較大。
9,import和from都是賦值語句。前者將整個模組物件賦值給乙個變數名,後者將乙個或多個變數名賦值給另乙個模組中同名的物件。from語句會讓變數的位置變得更隱秘和模糊。
10,模組m的命名空間可以通過屬性__dict__或dir(m)獲得。
11,需要注意模組匯入後的作用域。例如有乙個模組檔案moda.py
x = 88
def fun():
global x
x = 99
匯入該模組:
x = 11
import moda
moda.fun()
print x,moda.x
輸出結果為:
11 99
12,reload是python中的內建函式,而不是語句。傳遞給reload函式的是已經存在的模組物件,而不是變數名。關於reload有一些注意點:
Python學習筆記(十三)
模組包 if name main 軟體目錄結構規範 作業 atm 購物 程式 import 語句 import module1 module2 modulen 當我們使用import語句的時候,python直譯器通過自己的搜尋路徑 存在sys.path裡 進行搜尋from import 語句 fro...
python基礎學習筆記(十三)
re模組包含對 正規表示式。本章會對 re模組主要特徵和正規表示式進行介紹。什麼是正規表示式 正規表示式是可以匹配文字片段的模式。最簡單的正規表示式就是普通字串,可以匹配其自身。換包話說,正規表示式 python 可以匹配字串 python 你可以用這種匹配行為搜尋文字中的模式,並且用計算後有值併發...
Python學習筆記(十三) 類
本節主要對python中類的概念進行介紹。類完全由物件導向概念所引出。定義乙個類 class people 幫助資訊 number 100 建構函式,初始化方法,當建立乙個類的時候,首先會呼叫它 def init self,name,age self.name name self.age age d...