Tin tức và phân tích của tất cả các thiết bị di động

Hướng dẫn tạo và sử dụng gói Python cho người mới bắt đầu

Hãy tưởng tượng nhiệm vụ khó khăn khi tạo một ứng dụng phức tạp được giới hạn trong một tệp Python duy nhất. Mặc dù khả thi về mặt kỹ thuật nhưng nó đi ngược lại các nguyên tắc cơ bản về tạo ra phần mềm hiệu quả, có thể bảo trì và tái sử dụng. Vì những lý do này, các gói và mô-đun rất cần thiết cho việc xây dựng và phát triển phần mềm.

Một gói là gì?

Trong Python, một gói cho phép bạn tổ chức các mô-đun và tài nguyên có liên quan một cách hợp lý với nhau. Đây là thư mục chứa nhiều mô-đun Python, gói con và các tài nguyên khác.

Các gói cung cấp cấu trúc phân cấp cho phép bạn sắp xếp mã dự án của mình thành các mức độ trừu tượng khác nhau.

Sự khác biệt giữa gói và mô-đun

Mặc dù bạn có thể sử dụng cả gói và mô-đun để sắp xếp mã của mình nhưng có những điểm khác biệt giữa chúng:

  • Mô-đun: Mô-đun là một tệp chứa mã python. Nó định nghĩa các hàm, lớp, biến và các đối tượng khác có thể được nhập và sử dụng trong mã.
  • Gói: Gói là tập hợp của một hoặc nhiều mô-đun và cũng có thể chứa các gói con.

Cách tạo gói trong python

Để tạo một gói, hãy làm theo các bước sau.

Bước chân 1: Tạo thư mục dự án

Bắt đầu bằng cách tạo một thư mục dự án.

 study_bud/

Bước chân 2: Tạo một thư mục gói

Trong thư mục dự án, tạo một thư mục khác để làm thư mục gói. Đặt cho nó một cái tên có ý nghĩa thể hiện mục đích hoặc chức năng của gói. Thư mục gói sẽ chứa các mô-đun và gói con liên quan đến gói của bạn.

 study_bud/
    math_tool/

Bước chân 3: Xác định tệp __init__.py Gói

Tạo tệp __init__.py trong thư mục gói. Sự hiện diện của tệp __init__.py làm cho thư mục trở thành một gói Python.

Nếu bạn cần khởi tạo mã mỗi khi sử dụng gói, hãy đặt nó vào tệp __init__.py, nếu không nó luôn trống.

 study_bud/
    math_tool/
        __init__.py

Bước chân 4: Thêm mô-đun vào gói

Trong thư mục gói, thêm mô-đun Python (.py) xác định hàm, lớp hoặc biến.

Các mô-đun này chứa mã thực tế cung cấp chức năng cho gói của bạn. Nhiều mô-đun có thể được tạo trong một thư mục gói.

 study_bud/
    math_tool/
        __init__.py
        operations.py
        statistics.py

Bước chân 5: Thêm các gói con vào gói

Nếu gói của bạn cần được cấu trúc theo thứ bậc hoặc chứa các tính năng khác nhau, bạn có thể tạo các gói con trong thư mục gói.

Gói con chỉ là một thư mục gói khác trong thư mục gói gốc. Mỗi gói con phải có tệp __init__.py riêng. Các gói con cho phép bạn tổ chức và phân tách mã của mình hơn nữa.

 study_bud/
    math_tool/
        __init__.py
        operations.py
        statistics.py
        geometry/
            __init__.py
            shapes.py
        calculus/
            __init__.py
            integrations.py

Trong các bước này, bạn đã tạo một gói math_tool, thêm hai mô-đun (hoạt động.py và Thống kê.py) cũng như hai gói con hình học và phép tính, mỗi gói có các mô-đun riêng.

Bằng cách làm theo các bước này, bạn có thể dễ dàng sắp xếp chức năng liên quan thành một gói và các gói con, giúp bạn dễ dàng quản lý và sử dụng lại mã của mình.

Cách làm việc với gói trong Python

Để làm việc với gói, bạn cần nhập gói đó. Từ khóa nhập và từ cho phép bạn nhập và sử dụng gói trong mã của mình.

 import math_tool 

Bạn cũng có thể sử dụng ký hiệu dấu chấm để nhập mô-đun, gói con hoặc thuộc tính cụ thể từ gói. Ký hiệu dấu chấm cho phép bạn điều hướng qua cấu trúc thư mục gói. Ký hiệu dấu chấm giúp dữ liệu được nhập dễ đọc và dễ bảo trì hơn.

 from math_tool.operations import add, multiply 

Trong đoạn mã trên, bạn đã điều hướng từ thư mục gói (math_tool) đến mô-đun thao tác bằng cách sử dụng ký hiệu dấu chấm và nhập hai hàm (cộng và nhân).

Nhập khẩu tuyệt đối so với nhập khẩu tương đối

Để nhập tuyệt đối, bạn chỉ định đường dẫn đầy đủ từ gói cấp cao nhất (gói gốc) đến mô-đun hoặc gói phụ mong muốn. Đây là cách phổ biến và được khuyên dùng nhất để nhập mô-đun và gói trong Python.

 from math_tool.geometry.shapes import parallelogram

Bắt đầu với math_tool, đi tới gói con hình học, tìm mô-đun Shapes.py và nhập hàm hình bình hành.

Trong khi đó, nhập tương đối cho phép bạn thực hiện nhập tương ứng với vị trí của mô-đun hiện tại bằng cách sử dụng ký hiệu dấu chấm để chỉ định nhập tương đối.

Ví dụ: trong mô-đun tính toán/integrations.py, bạn có thể sử dụng tính năng nhập tương đối để nhập một hàm từ mô-đun Shapes.py trong gói con hình học.

 
from ..geometry.shapes import rhombus

Dấu chấm kép (..) cho Python biết:

  • Bắt đầu với thư mục gói con (tính toán) nơi đặt mô-đun (integrations.py).
  • Chuyển đến thư mục gói cha (math_tool) của gói con.
  • Tìm gói con hình học trong thư mục mẹ.
  • Truy cập mô-đun Shapes.py và nhập hình thoi từ nó.

Vì vậy, ký hiệu dấu chấm biểu thị số lượng thư mục có thể được điều hướng đến từ thư mục mô-đun hiện tại.

Nhập bí danh để thuận tiện

Bạn có thể chỉ định bí danh cho quá trình nhập, giúp việc tham chiếu trong mã của bạn dễ dàng hơn. Bí danh rất hữu ích cho tên gói hoặc mô-đun dài.

Để gán bí danh, hãy sử dụng từ khóa as.

 import math_tool.calculus as cal

Cách phân phối gói của bạn bằng python

Python cung cấp các công cụ và nền tảng để tạo và phân phối các gói. Việc phân phối gói cho phép bạn chia sẻ mã với các nhà phát triển khác, thúc đẩy cộng tác, đơn giản hóa việc cài đặt cho người dùng và đóng góp cho cộng đồng Python rộng lớn hơn.

Bước chân 1: Tạo tài khoản trên PyPI

Chỉ mục gói Python (PyPI) là kho lưu trữ mặc định cho các gói Python. Bạn có thể xuất bản các gói của mình trên PyPI để các nhà phát triển khác có thể dễ dàng tìm và cài đặt chúng.

Hãy nhớ nhớ tên người dùng và mật khẩu của bạn vì bạn sẽ cần chúng để xác thực khi tải gói của bạn lên PyPI.

Bước chân 2: Cài đặt công cụ quản lý gói

Những công cụ này giúp bạn dễ dàng định cấu hình, xây dựng và tải lên gói phân phối chỉ bằng một lệnh.

 pip install build wheel twine

Bước chân 3: Tạo tệp setup.py

Để phân phối gói của bạn, hãy tạo tệp setup.py trong thư mục gốc của dự án. Tệp setup.py chứa siêu dữ liệu về gói của bạn, chẳng hạn như tên, phiên bản, tác giả, mô tả, phần phụ thuộc, v.v.

Các công cụ quản lý gói sẽ sử dụng tệp setup.py để định cấu hình và xây dựng gói.

 
from setuptools import setup, find_packages

setup(
    name="<package name>",
    version='1.0.0',
    author="<Your Name>",
    description='A collection of mathematical utility functions',
    packages=find_packages(),
    install_requires=[
        'numpy',
        'scipy',
    ],
)

Bước chân 4: Xây dựng một gói

Khi đã có sẵn setup.py, bạn có thể sử dụng nó để xây dựng gói phân phối. Trong Terminal hoặc Dấu nhắc lệnh, điều hướng đến thư mục chứa tệp setup.py và thực hiện lệnh sau:

 python setup.py sdist bdist_wheel

Lệnh này tạo một thư mục dist chứa gói phân phối nguồn (.tar.gz) và gói phân phối bánh xe (.whl). Bạn cũng sẽ thấy thư mục bản dựng và thông tin.

Bước chân 5: Tải gói lên PyPI

Khi gói của bạn đã sẵn sàng, bạn có thể tải nó lên PyPI.

Thực hiện lệnh sau:

 twine upload dist/*
> Uploading distributions to https://upload.pypi.org/legacy/
> Enter your username: **********
> Enter your password: **********

Truy cập trang quản lý dự án PyPI để xem gói của bạn.

Giờ đây, các nhà phát triển khác thấy gói của bạn hữu ích có thể cài đặt và sử dụng gói đó cục bộ.

Cách cài đặt gói python

Trình quản lý gói như pip giúp dễ dàng cài đặt và quản lý các gói Python từ nhiều nguồn khác nhau, bao gồm cả Chỉ mục gói Python (PyPI). Để cài đặt gói bằng pip, hãy mở terminal hoặc dấu nhắc lệnh và sử dụng lệnh sau:

 pip install <package_name>

Để xem tất cả các lệnh và tùy chọn pip có sẵn, hãy sử dụng tùy chọn –help.

Viết mô-đun sạch

Các gói chứa các mô-đun và gói con, lần lượt chứa các mô-đun khác. Cách tốt nhất là mô-đun hóa mã của bạn, đặc biệt là khi làm việc trên các dự án lớn hơn, vì điều này thúc đẩy khả năng tổ chức và dễ đọc mã tốt hơn. Đó là lý do tại sao việc viết các mô-đun một cách minh bạch khi lập trình bằng Python lại quan trọng.