python的包與模組

2021-10-04 17:08:37 字數 2492 閱讀 3914

這是一篇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

from hello.cab import * 

print('d')

print('e')

print('t')

輸出 19 2 7

在被匯入的模組頭部寫入「all=[允許被匯入的元素列表]」 即可規定允許該模組中哪些元素可以被引用

舉例;在cab模組下

__all__ = ['d','e']

當其他模組引用時

from hello.cab import *

print('d')

print('e')

print('t')

輸出 19 2 報錯沒有t `

匯入多個變數時,可用逗號隔開,當匯入變數過多需要換行時,用括號將所有變數括住或在末尾用 \ (括號較為美觀)此處就不舉例了,應該通俗易懂。

以上就是我對python導入庫與模組的簡單概述,接下來我們講講前面提到的「init.py 」檔案

import hello

print('hello.sys.version ')

輸出對應的版本資訊

okk 以上便是我對包與模組,以及包下的__init__.py檔案的粗淺理解,順便再提一句包與模組的幾個常見錯誤

包與模組的幾個常見錯誤

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...