python中的模組和包

2021-09-25 07:20:51 字數 3606 閱讀 8686

乙個模組就是乙個包含python**的檔案。乙個檔案就是乙個模組

1.現在程式開發檔案比較大,都放在乙個檔案中維護不方便,拆分成多個檔案方便維護與管理

2.模組可以增加**的重用率

3.模組可以當作命名空間

模組本身就是乙個檔案,所有py**都可以在檔案中直接書寫。不過我們開發共用模組時,最好在模組中書寫以下內容。

變數         模組中的屬性值

函式 單獨的功能

類 相似功能組合

模組測試** 臨時使用,被匯入時不會執行

測試**:

測試**經常在開發模組時用於測試模組的功能,但是測試**僅在開發和測試時使用,被當作模組匯入時不希望測試**執行。需要使用name特殊變數來操作。

if __name__  == '__main__':

#測試**區域(僅在吧當前檔案直接執行時才會執行測試**,當作模組匯入時則不會執行)

name在直接執行當前檔案時,結果為main

name被當作模組匯入檔案時,結果為 模組名稱

import 模組名

作用:直接匯入模組

使用方法:

模組名.變數名

模組名.函式名

模組名.類名.方法名()

模組名.類名.屬性名

import 模組 as 別名

作用:直接匯入模組,並且為模組起乙個別名

使用方法:

別名.變數名

別名.函式名

別名.類名.方法名()

別名.類名.屬性名

from 模組 import 某個函式或者類

作用:直接匯入模組中的某個方法或者某個類或變數

使用方法:

函式名()

變數名類名.方法名()

屬性名

from 模組 import 函式,函式,類,類...

作用:直接匯入模組中的多個方法和多個類和變數

使用方法:

函式名()

變數名類名.方法名()

屬性名

from 模組 import *

作用:直接匯入模組中的所有方法和類和變數

使用方法:

函式名()

變數名類名.方法名()

屬性名

注意事項:如果採用from 匯入的方式要確保模組中的函式變數等內容不能與系統的內建函式同名,否則會出現異常。

如果不想自己新建自定義的模組資料夾,可以將我們自定義的模組存放到 python 目錄中的\lib\site-packages中。

搜尋路徑就是python在載入模組時候的查詢路徑

1.獲取當前模組的搜尋路徑

import sys
sys.path 獲取當前搜尋路徑的列表

2.將自定義的路徑新增到列表中

匯入模組操作的步驟:

1.檢測記憶體中是否已經載入過當前模組,如果載入過,直接使用載入的模組

2.如果記憶體中沒有載入當前模組,則搜尋python的內建模組

3.如果當前內建模組中中沒有該模組,根據搜尋路徑查詢並且載入模組

包就是資料夾,他用於存放檔案也就是模組。包中也可以存放包

|---- __init__.py 包的標誌檔案

|---- 模組1

|---- 模組2

|---- 子包(資料夾)

|-----|----__init__.py

|---- |----子模組1

|---- |----子模組2

import 包.模組

使用方法:

包.模組.變數名

包.模組.函式名()

包.模組.類名.屬性名

包.模組.類名.方法名()

import 包.模組 as 別名

使用方法:

別名.變數名

別名.函式名()

別名.類名.屬性名

別名.類名.方法名()

from 包.模組 import 函式或者類或者屬性

使用方法:

變數名函式名()

類名.屬性名

類名.方法名()

from 包.模組 import *

使用方法:

變數名函式名()

類名.屬性名

類名.方法名()

在此情況下可以將包當作模組直接匯入使用

import 包

使用:

包.變數名

包.函式名()

包.類名.屬性名

包.類名.方法名()

import 包 as 別名

使用:

別名.變數名

別名.函式名()

別名.類名.屬性名

別名.類名.方法名()

from 包 import 函式,類,變數

使用:

變數名函式名()

類名.屬性名

類名.方法名()

from 包 import *

使用:

變數名函式名()

類名.屬性名

類名.方法名()

如果在當前模組中需要呼叫其他模組或者包的內容時,可以直接使用import 匯入對應的包和模組,就可以載入進來使用,import 會搜尋包和模組對應的搜尋路徑(sys.path)

import  模組或者包
__all__ = ['模組','模組','子包'。。。]   #必須是列表

Python中的包和模組

目錄簡介 匯入模組 示例 匯入時換行 pyc檔案 init py 示例 批量匯入 tips 迴圈匯入示例 從物理表現上來說 包 資料夾 模組 檔案 乙個資料夾下包含 init py檔案,則成為乙個package init py本身是乙個模組,這個模組的名字就是它的包名。目錄結構 注意第二種,如果直接...

python中的模組和包

如下圖所示,python中的模組是指資料夾下的py檔案,a資料夾就可以稱為1個自定義包,但是b檔案件不能稱為乙個包,因為包下要包含 init py檔案。而 init py檔案的作用是什麼那,我感覺主要是簡化import時的長度,我的理解如下,舉個例子,假設我們現在在a資料夾下沒有 init py模組...

python 模組和包 python模組和包

一.模組 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 二.匯入模組 1.語法 import模組名from 模組名 import功能名from 模組名 import i...