這是一篇python小白關於包與模組的粗淺認知,用以加深理解。如有錯誤,請各位前輩多多指教
什麼是包與模組
在python中,我們可以把包與模組理解為資料夾與檔案,但僅僅是這樣理解,包與資料夾的區別就是包下會有乙個__init__.py 檔案 ,稍後我們對其進行一段解釋。而模組中還包括有 類,變數,函式等元素。
匯入包與模組的意義
當我們在完成乙個專案的時候,會出現乙個**復用的問題,怎麼辦呢?再寫一遍?這效率也太低了叭,也增加了**的冗餘。這個時候,我們就可以通過「匯入」這一概念來解決這一**復用問題
匯入的方式
1- import 命名空間
2- from 包名 import 模組名
注:以上為匯入自定義包與模組,樣式靈活多變,但須遵循命名空間原則。匯入就類似於你新增了哪個資料夾下的檔案。(此處只是為了好理解,用以模擬)
什麼是命名空間
可以將其理解為路徑,通過命名空間你可以找到你所匯入的元素存在於哪個位置。可區分模組名相同的模組,打個比方說:你有兩個不同的包,但其下都有乙個「ojbk.py」的模組,這時就需通過命名空間這一概念來區分這兩個模組
=====手動分割線=====
注:以下內容會有**演示,所有使用匯入的元素都以print的方式輸出演示,具體可根據自己情況演示
okk,大體概念就這麼多吧,下面我們來具體談談我對這兩種匯入方式的理解。
python匯入包與模組
import 命名空間
這種匯入方式的好處就是你可以直截了當的看見你所使用的類,變數,或者函式是來自於哪乙個包的哪乙個模組。也就是按級劃分。
匯入同乙個包下的其他模組時,即模組與模組同屬乙個包下,(同一資料夾下的不同檔案),只需匯入模組名即可
舉例;模組名為:cool,其下有變數 a = 19
匯入不同包下的模組時,即模組與模組不屬於同乙個包(不同資料夾下的檔案),需匯入包名.模組名import cool
print('cool.a')
輸出 19 `
舉例;包名為:hello,其下模組名:cab,其變數 d = 19
用自定義識別符號代替命名空間import hello.cab
print('hello.cab.d')
輸出 19
用上一舉例說明
注:即使所引用的模組命名空間再大也不可省略,可用自定義識別符號代替 (如同你找檔案時少一級路徑)import hello.cab as hc
print('hc.d')
輸出 19`
from 包名.模組名 import 變數
注:這裡所匯入的不僅僅是變數,還可以是函式與類。上文亦同。
以下舉例皆為上文所提
1.*匯入具體的變數時,可直接使用
*只匯入模組名,使用其具體變數時:模組名.變數名from hello.cab import d
print('d')
輸出 19`
*匯入多個變數時,用 * 代替,可理解為模糊匹配,from hello import cab
print('cab.d')
輸出 19`
在cab模組中新增變數e=2,t=7
在被匯入的模組頭部寫入「all=[允許被匯入的元素列表]」 即可規定允許該模組中哪些元素可以被引用from hello.cab import *
print('d')
print('e')
print('t')
輸出 19 2 7
舉例;在cab模組下
__all__ = ['d','e']
當其他模組引用時
匯入多個變數時,可用逗號隔開,當匯入變數過多需要換行時,用括號將所有變數括住或在末尾用 \ (括號較為美觀)此處就不舉例了,應該通俗易懂。from hello.cab import *
print('d')
print('e')
print('t')
輸出 19 2 報錯沒有t `
以上就是我對python導入庫與模組的簡單概述,接下來我們講講前面提到的「init.py 」檔案
okk 以上便是我對包與模組,以及包下的__init__.py檔案的粗淺理解,順便再提一句包與模組的幾個常見錯誤import hello
print('hello.sys.version ')
輸出對應的版本資訊
包與模組的幾個常見錯誤
python模組與包
路徑修改 命令列怎麼檢視路徑,修改路徑 列印當前搜尋路徑 import sys sys.path sys.path import os os.getcwd os.chdir c www 模組實現構建模組的初衷就是將一些同類的東西進行打包,以免汙染全域性空間,在python的模組裡,對需要隱藏的屬性和...
python 模組與包
模組與包 1.什麼是模組 在 python 中,乙個.py檔案就稱之為乙個模組 module 模組的優點 大大提高了 的可維護性 編寫 不必從零開始。當乙個模組編寫完畢,就可以被其他地方引用 2.匯入模組的幾種方式 4.模組的分類 1 內建模組 os,sys,dnspython,socket,tim...
python包與模組
python模組 py檔案就是模組 1.在同乙個工作目錄 呼叫其他模組裡面的方法一 import module 呼叫 module.function 注意 此時import module時,在執行當前 時,會先執行被import的module裡的 import module as m1 別名,類似w...