
- Python基礎
- Python——首頁
- Python——概述
- Python——歷史
- Python——特性
- Python vs C++
- Python——HelloWorld程式
- Python——應用領域
- Python——直譯器
- Python——環境搭建
- Python——虛擬環境
- Python——基本語法
- Python——變數
- Python——資料型別
- Python——型別轉換
- Python——Unicode系統
- Python——字面量
- Python——運算子
- Python——算術運算子
- Python——比較運算子
- Python——賦值運算子
- Python——邏輯運算子
- Python——位運算子
- Python——成員運算子
- Python——身份運算子
- Python——運算子優先順序
- Python——註釋
- Python——使用者輸入
- Python——數字
- Python——布林值
- Python控制語句
- Python——控制流
- Python——決策
- Python——If語句
- Python——If else
- Python——巢狀If
- Python——Match-Case語句
- Python——迴圈
- Python——for迴圈
- Python——for-else迴圈
- Python——While迴圈
- Python——break語句
- Python——continue語句
- Python——pass語句
- Python——巢狀迴圈
- Python函式與模組
- Python——函式
- Python——預設引數
- Python——關鍵字引數
- Python——僅限關鍵字引數
- Python——位置引數
- Python——僅限位置引數
- Python——任意引數
- Python——變數作用域
- Python——函式註解
- Python——模組
- Python——內建函式
- Python字串
- Python——字串
- Python——字串切片
- Python——修改字串
- Python——字串連線
- Python——字串格式化
- Python——跳脫字元
- Python——字串方法
- Python——字串練習
- Python列表
- Python——列表
- Python——訪問列表元素
- Python——修改列表元素
- Python——新增列表元素
- Python——刪除列表元素
- Python——迴圈遍歷列表
- Python——列表推導式
- Python——排序列表
- Python——複製列表
- Python——合併列表
- Python——列表方法
- Python——列表練習
- Python元組
- Python——元組
- Python——訪問元組元素
- Python——更新元組
- Python——解包元組
- Python——迴圈遍歷元組
- Python——合併元組
- Python——元組方法
- Python——元組練習
- Python集合
- Python——集合
- Python——訪問集合元素
- Python——新增集合元素
- Python——刪除集合元素
- Python——迴圈遍歷集合
- Python——合併集合
- Python——複製集合
- Python——集合運算子
- Python——集合方法
- Python——集合練習
- Python字典
- Python——字典
- Python——訪問字典元素
- Python——修改字典元素
- Python——新增字典元素
- Python——刪除字典元素
- Python——字典檢視物件
- Python——迴圈遍歷字典
- Python——複製字典
- Python——巢狀字典
- Python——字典方法
- Python——字典練習
- Python陣列
- Python——陣列
- Python——訪問陣列元素
- Python——新增陣列元素
- Python——刪除陣列元素
- Python——迴圈遍歷陣列
- Python——複製陣列
- Python——反轉陣列
- Python——排序陣列
- Python——合併陣列
- Python——陣列方法
- Python——陣列練習
- Python檔案處理
- Python——檔案處理
- Python——寫入檔案
- Python——讀取檔案
- Python——重新命名和刪除檔案
- Python——目錄
- Python——檔案方法
- Python——OS檔案/目錄方法
- Python——OS路徑方法
- 面向物件程式設計
- Python——OOPs概念
- Python——類與物件
- Python——類屬性
- Python——類方法
- Python——靜態方法
- Python——建構函式
- Python——訪問修飾符
- Python——繼承
- Python——多型
- Python——方法重寫
- Python——方法過載
- Python——動態繫結
- Python——動態型別
- Python——抽象
- Python——封裝
- Python——介面
- Python——包
- Python——內部類
- Python——匿名類和物件
- Python——單例類
- Python——包裝類
- Python——列舉
- Python——反射
- Python錯誤與異常
- Python——語法錯誤
- Python——異常
- Python——try-except塊
- Python——try-finally塊
- Python——引發異常
- Python——異常鏈
- Python——巢狀try塊
- Python——使用者自定義異常
- Python——日誌記錄
- Python——斷言
- Python——內建異常
- Python多執行緒
- Python——多執行緒
- Python——執行緒生命週期
- Python——建立執行緒
- Python——啟動執行緒
- Python——連線執行緒
- Python——命名執行緒
- Python——執行緒排程
- Python——執行緒池
- Python——主執行緒
- Python——執行緒優先順序
- Python——守護執行緒
- Python——執行緒同步
- Python同步
- Python——執行緒間通訊
- Python——執行緒死鎖
- Python——中斷執行緒
- Python網路程式設計
- Python——網路程式設計
- Python——套接字程式設計
- Python——URL處理
- Python——泛型
- Python庫
- NumPy教程
- Pandas教程
- SciPy教程
- Matplotlib教程
- Django教程
- OpenCV教程
- Python雜項
- Python——日期與時間
- Python——數學
- Python——迭代器
- Python——生成器
- Python——閉包
- Python——裝飾器
- Python——遞迴
- Python——正則表示式
- Python——PIP
- Python——資料庫訪問
- Python——弱引用
- Python——序列化
- Python——模板
- Python——輸出格式化
- Python——效能測量
- Python——資料壓縮
- Python——CGI程式設計
- Python——XML處理
- Python——GUI程式設計
- Python——命令列引數
- Python——文件字串
- Python——JSON
- Python——傳送郵件
- Python——更多擴充套件
- Python——工具/實用程式
- Python——GUIs
- Python高階概念
- Python——抽象基類
- Python——自定義異常
- Python——高階函式
- Python——物件內部
- Python——記憶體管理
- Python——元類
- Python——使用元類進行超程式設計
- Python——模擬和存根
- Python——猴子補丁
- Python——訊號處理
- Python——型別提示
- Python——自動化教程
- Python——Humanize包
- Python——上下文管理器
- Python——協程
- Python——描述符
- Python——診斷和修復記憶體洩漏
- Python——不可變資料結構
- Python實用資源
- Python——問答
- Python——線上測驗
- Python——快速指南
- Python——參考
- Python——速查表
- Python——專案
- Python——實用資源
- Python——討論
- Python編譯器
- NumPy編譯器
- Matplotlib編譯器
- SciPy編譯器
Python——包
在Python中,模組是一個帶有.py副檔名的Python指令碼,包含類、函式等物件。Python中的包進一步擴充套件了模組化方法的概念。包是一個包含一個或多個模組檔案的資料夾;此外,一個特殊的"__init__.py"檔案可以為空,但可以包含包列表。
建立Python包
讓我們建立一個名為mypackage的Python包。請按照以下步驟操作:
- 建立一個外部資料夾來儲存mypackage的內容。將其命名為packagedemo。
- 在其中,建立另一個資料夾mypackage。這將是我們即將構建的Python包。兩個Python模組areafunctions.py和mathfunctions.py將建立在mypackage內部。
- 在mypackage資料夾內建立一個空的"__init__.py"檔案。
- 稍後,我們將在外部資料夾中儲存一個Python指令碼example.py來測試我們的包。
檔案/資料夾結構應如下所示:

使用您喜歡的程式碼編輯器,將以下兩個Python模組儲存到mypackage資料夾中。
建立Python包的示例
# mathfunctions.py def sum(x,y): val = x+y return val def average(x,y): val = (x+y)/2 return val def power(x,y): val = x**y return val
建立另一個Python指令碼:
# areafunctions.py def rectangle(w,h): area = w*h return area def circle(r): import math area = math.pi*math.pow(r,2) return area
現在讓我們藉助上述包資料夾之上的Python指令碼測試myexample包。請參考上面的資料夾結構。
#example.py from mypackage.areafunctions import rectangle print ("Area :", rectangle(10,20)) from mypackage.mathsfunctions import average print ("average:", average(10,20))
此程式從mypackage匯入函式。如果執行上述指令碼,您應該得到以下輸出:
Area : 200 average: 15.0
定義包列表
您可以將包中選定的函式或任何其他資源放在"__init__.py"檔案中。讓我們在其中放入以下程式碼。
from .areafunctions import circle from .mathsfunctions import sum, power
要從該包匯入可用的函式,請將以下指令碼另存為testpackage.py,與之前一樣,儲存在包資料夾上方。
定義包列表的示例
#testpackage.py from mypackage import power, circle print ("Area of circle:", circle(5)) print ("10 raised to 2:", power(10,2))
它將產生以下輸出:
Area of circle: 78.53981633974483 10 raised to 2: 100
包安裝
現在,我們能夠從包資料夾正上方的指令碼訪問包資源。為了能夠在檔案系統的任何位置使用該包,您需要使用PIP實用程式安裝它。
首先,將以下指令碼儲存在父資料夾中,與包資料夾同級。
#setup.py from setuptools import setup setup(name='mypackage', version='0.1', description='Package setup script', url='#', author='anonymous', author_email='test@gmail.com', license='MIT', packages=['mypackage'], zip_safe=False)
從命令提示符執行PIP實用程式,同時停留在父資料夾中。
C:\Users\user\packagedemo>pip3 install . Processing c:\users\user\packagedemo Preparing metadata (setup.py) ... done Installing collected packages: mypackage Running setup.py install for mypackage ... done Successfully installed mypackage-0.1
您現在應該能夠在任何環境中匯入包的內容。
C:\Users>python Python 3.11.2 (tags/v3.11.2:878ead1, Feb 7 2023, 16:38:35) [MSC v.1934 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import mypackage >>> mypackage.circle(5) 78.53981633974483
廣告