Trong Python , mô-đun là một tập tin Python có đuôi .py và chứa các đối tượng như lớp, functions , v.v. Packages in Python mở rộng khái niệm về cách tiếp cận mô-đun xa hơn. Gói là một thư mục chứa một hoặc nhiều tập tin mô-đun; ngoài ra, một tập tin đặc biệt "__init__.py" có thể trống nhưng có thể chứa danh sách gói.
Hãy tạo một Python package với tên mypackage . Làm theo các bước dưới đây −
file/folder structure nên được hiển thị như bên dưới −
Sử dụng trình biên tập mã yêu thích của bạn, hãy lưu hai Python modules sau vào thư mục mypackage .
# 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
Tạo một script Python khác −
# 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
Bây giờ hãy kiểm tra gói myexample với sự trợ giúp của một kịch bản Python nằm trên thư mục gói này. Tham khảo cấu trúc thư mục ở trên.
#example.py from mypackage.areafunctions import rectangle print ("Area :", rectangle(10,20)) from mypackage.mathsfunctions import average print ("average:", average(10,20))
Chương trình này nhập các hàm từ mypackage . Nếu kịch bản trên được thực thi, bạn sẽ nhận được output −
Area : 200 average: 15.0
Bạn có thể đặt các hàm đã chọn hoặc bất kỳ tài nguyên nào khác từ gói vào tệp "__init__.py". Hãy để chúng ta đặt đoạn mã sau vào đó.
from .areafunctions import circle from .mathsfunctions import sum, power
Để nhập các hàm có sẵn từ gói này, hãy lưu đoạn mã sau dưới dạng testpackage.py, ở trên thư mục gói như trước.
#testpackage.py from mypackage import power, circle print ("Area of circle:", circle(5)) print ("10 raised to 2:", power(10,2))
Nó sẽ tạo ra output −
Area of circle: 78.53981633974483 10 raised to 2: 100
Hiện tại, chúng ta có thể truy cập tài nguyên gói từ một script ngay trên thư mục gói. Để có thể sử dụng gói ở bất kỳ đâu trong hệ thống tệp, bạn cần cài đặt nó bằng cách sử dụng tiện ích PIP.
Trước hết, hãy lưu kịch bản sau vào thư mục cha, ở cấp độ thư mục gói.
#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)
Chạy tiện ích PIP từ dòng lệnh, trong khi vẫn ở trong thư mục cha.
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
Bạn bây giờ có thể nhập nội dung của package trong bất kỳ môi trường nào.
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