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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB轉載
2023-05-20 17:31:061495瀏覽

說簡單點,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中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除