模組是用import 匯入的耶
模組和第三方包,應該是不一樣的
常用的模組可以去eva看 有一些是常用的模組
每個小的模組都會處理一些相關的問題
什麼是模組?
常見的場景:乙個模組就是乙個包含了python定義和宣告的檔案,檔名就是模組名字加上.py的字尾。
但其實import載入的模組分為四個通用類別:
1 使用python編寫的**(.py檔案)
2 已被編譯為共享庫或dll的c或c++擴充套件
3 包好一組模組的包
4 使用c編寫並鏈結到python直譯器的內建模組
為何要使用模組?
如果你退出python直譯器然後重新進入,那麼你之前定義的函式或者變數都將丟失,因此我們通常將程式寫到檔案中以便永久儲存下來,需要時就通過python test.py方式去執行,此時test.py被稱為指令碼script。
隨著程式的發展,功能越來越多,為了方便管理,我們通常將程式分成乙個個的檔案,這樣做程式的結構更清晰,方便管理。這時我們不僅僅可以把這些檔案當做指令碼去執行,還可以把他們當做模組來匯入到其他的模組中,實現了功能的重複利用,
檔名和模組名,模組名就是檔名呀,少了py而已
我們可以從sys.modules中找到當前已經載入的模組,sys.modules是乙個字典,內部包含模組名與模組物件的對映,該字典決定了匯入模組時是否需要重新匯入。
模組可以包含可執行的語句和函式的定義,這些語句的目的是初始化模組,
每個模組都是乙個獨立的命名空間,定義在這個模組中的函式,把這個模組的命名空間當做全域性命名空間,這樣我們在編寫自己的模組時,就不用擔心我們定義在自己模組中全域性變數會在被匯入時,與使用者的全域性變數衝突
包是一種通過使用『.模組名』來組織python模組命名空間的方式。
1. 無論是import形式還是from...import形式,凡是在匯入語句中(而不是在使用時)遇到帶點的,都要第一時間提高警覺:這是關於包才有的匯入語法
2. 包是目錄級的(資料夾級),資料夾是用來組成py檔案(包的本質就是乙個包含__init__.py檔案的目錄)
3. import匯入檔案時,產生命名空間中的名字**於檔案,import 包,產生的命名空間的名字同樣**於檔案,即包下的__init__.py,匯入包本質就是在匯入該檔案
強調:
1. 在python3中,即使包下沒有__init__.py檔案,import 包仍然不會報錯,而在python2中,包下一定要有該檔案,否則import 包報錯
2. 建立包的目的不是為了執行,而是被匯入使用,記住,包只是模組的一種形式而已,包即模組
常用模組 re模組
由堆具有特殊意義的字元組成的式子。用於匹配查詢字串內容。主要學習重點,就是學習這些字元的含義。abc 表示式不包含任何特殊字元,就是精準匹配,說白了判斷是否相同 print re.findall abc abcbbb abc n t f 符號含義 a從字元的開始處開始匹配 z從字元的結尾處匹配 從字...
常用模組 xml模組
格式 也是一種通用的資料格式 之所以用它是因為塊平台性。一 任何的起始標籤都必須有 乙個結束標籤。二 可以採用另一種簡化語法,可以在乙個標籤中同時表示起始和結束標 籤。這種語法是在 於符號之前緊跟乙個斜線 xml 三 標籤必須按合適的順序進 行 巢狀,所以結束標籤必須按映象順序匹配 起始標籤。這好 ...
常用模組 pickle模組
import pickle name msj age 25height 184user 記憶體中資料 pickle模組是乙個用來序列化的模組。指的是將記憶體中的資料結構轉為一種中間格式,並儲存在硬碟上。將硬碟上儲存的中間格式檔案還原成記憶體中的資料結構。就是為了將資料永久儲存,之前學過檔案也能完成永...