Python 提供了強大的模塊支持,主要體現在,不僅 Python 標準庫中包含了大量的模塊(稱為標準模塊),還有大量的第三方模塊,開發者自己也可以開發自定義模塊。通過這些強大的模塊可以*大地提高開發者的開發效率。

那么,模塊到底指的是什么呢?

模塊,英文為 Modules,至于模塊到底是什么,可以用一句話總結:模塊就是 Python 程序。換句話說,任何 Python 程序都可以作為模塊。

模塊可以比作一盒積木,通過它可以拼出多種主題的玩具,這與前面介紹的函數不同,一個函數僅相當于一塊積木,而一個模塊(.py 文件)中可以包含多個函數,也就是很多積木。

隨著程序功能的復雜,程序體積會不斷變大,為了便于維護,通常會將其分為多個文件(模塊),這樣不僅可以提高代碼的可維護性,還可以提高代碼的可重用性。

代碼的可重用性體現在,當編寫好一個模塊后,只要編程過程中需要用到該模塊中的某個功能(由變量、函數、類實現),無需做重復性的編寫工作,直接在程序中導入該模塊即可使用該功能。

從外具有封裝特性的結構如下:

1、諸多容器,例如列表、元組、字符串、字典等,它們都是對數據的封裝;

2、函數是對 Python代碼的封裝;

3、類是對方法和屬性的封裝,也可以說是對函數和數據的封裝。

今天融躍小編所介紹的模塊,可以理解為是對代碼更*的封裝,即把能夠實現某一特定功能的代碼編寫在同一個 .py 文件中,并將其作為一個獨立的模塊,這樣既可以方便其它程序或腳本導入并使用,同時還能有效避免函數名和變量名發生沖突。

舉個簡單的例子,在某一目錄下(桌面也可以)創建一個名為 hello.py 文件,其包含的代碼如下:

在同一目錄下,再創建一個 say.py 文件,其包含的代碼如下:

運行 say.py 文件,其輸出結果為:

你可能注意到,say.py 文件中使用了原本在 hello.py 文件中才有的 say() 函數,相對于 day.py 來說,hello.py 就是一個自定義的模塊(有關自定義模塊,后續章節會做詳細講解),我們只需要將 hellp.py 模塊導入到 say.py 文件中,就可以直接在 say.py 文件中使用模塊中的資源。

與此同時,當調用模塊中的 say() 函數時,使用的語法格式為“模塊名.函數”,這是因為,相對于 say.py 文件,hello.py 文件中的代碼自成一個命名空間,因此在調用其他模塊中的函數時,需要明確指明函數的出處,否則 Python 解釋器將會報錯。