首頁 > 後端開發 > Python教學 > 如何最簡單、通俗地理解Python模組?

如何最簡單、通俗地理解Python模組?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2023-05-20 17:31:06
轉載
1504 人瀏覽過

說簡單點,Python模組就是帶有.py後綴的可執行文件,用來重複呼叫變數和函數。

如何最簡單、通俗地理解Python模組?

比方說,你在資料分析過程中反覆需要讀取CSV文件,除了使用pandas等現成的函式庫方法外,還可以自己寫一個模組來調用。

# -*- coding: utf-8 -*-
import csv
desc = '这是csv读取函数'
print(desc)
def read_csv(path):
with open(path, newline='') as csvfile:
reader = csv.DictReader(csvfile)
for i in reader:
print(i)
登入後複製

你只需要將上面腳本儲存為.py文件,就可以透過import導入其中的read_csv函數,直接在你的程式碼中進行呼叫。

例如我將腳本儲存為readcsv.py,並存放到目前資料夾裡,在新的程式碼中調用,只需傳入csv檔案路徑名,就可以讀取相應檔案。

from readcsv import read_csv
read_csv("e:\test.csv")
登入後複製

得到如下結果:

如何最簡單、通俗地理解Python模組?

這就是一個編寫好的模組了,你可以隨時隨地進行調用,而不需要在程式碼中重複編寫複雜的方法。

我們看到,執行程式碼後既直接使用了模組的常數,也呼叫了模組的函數,這就涉及到模組的功能定義:

❝Python 模組( Module),是一個Python 文件,以.py 結尾,包含了Python 物件定義和Python語句。❞

模組相當於一個封裝好的工具箱,你只需要傳入相關參數,就可以使用其中的功能。

一般,大型的Python程式碼專案會有很多個模組,能讓邏輯更清晰。

除了透過import導入外,.py模組檔案還可以作為腳本直接運行。

我們在命令列切換到腳本所在目錄,並輸入:

python readcsv.py
登入後複製

就可以直接執行對應程式碼:

如何最簡單、通俗地理解Python模組?

如果你在腳本程式碼中加入if __name__ == "__main__":語句,那麼該語句後面的程式碼只有在直接執行腳本時生效,而import導入模組時不被執行。

# -*- coding: utf-8 -*-
import csv
desc = '这是csv读取函数'
print(desc)
def read_csv(path):
with open(path, newline='') as csvfile:
reader = csv.DictReader(csvfile)
for i in reader:
print(i)

if __name__ == "__main__":
print("直接运行脚本时生效")
登入後複製

這也是困惑很多人的一個問題,if __name__ == "__main__":到底有什麼用?

__main__總是指當前執行模組的名稱(包含後綴.py) 。

__name__是內建變量,當模組直接執行的時候, __name__等於檔案名稱(包含後綴 .py )。

如果該模組 import 到其他模組中,則該模組的 __name__等於模組名稱(不包含後綴.py)。

所以當直接執行腳本時候,__name__ == "__main__"為真成立,可以繼續執行後面程式碼。

而當import導入模組時候,__name__ == "__main__"為假,不成立,無法執行後面程式碼。

這種操作常用於為模組提供便利用戶接口,或用於測試(把模組當作執行測試套件的腳本運行)。

以下是python常用內建模區塊,供參考。

如何最簡單、通俗地理解Python模組?

以上是如何最簡單、通俗地理解Python模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
python - ubuntu16.04 lxml的報錯
來自於 1970-01-01 08:00:00
0
0
0
有辦法在PHP裡寫Python嗎?
來自於 1970-01-01 08:00:00
0
0
0
python scrapy爬蟲錯誤
來自於 1970-01-01 08:00:00
0
0
0
python相關問題求解決,有償
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板