Khi các chương trình Python bắt đầu phát triển lớn hơn, việc viết tất cả mã nguồn trong một file duy nhất sẽ khiến chương trình trở nên cồng kềnh, khó đọc và khó bảo trì. Để giải quyết vấn đề này, Python cung cấp cơ chế phân chia mã nguồn thành các Module và Package. Bài viết này sẽ giúp bạn hiểu rõ cách chia nhỏ chương trình, nạp các thư viện chuẩn cũng như quản lý thư viện ngoài bằng công cụ pip.
1. Module Trong Python Là Gì?
Một Module trong Python đơn giản là một file có đuôi .py chứa các hàm, biến và lớp mà bạn có thể tái sử dụng ở các chương trình khác nhau.
Tạo và import một Module tự định nghĩa
Giả sử bạn tạo một file tên là math_utils.py chứa các hàm tính toán cơ bản:
# File: math_utils.pyTạo hàm tính tổng và hiệu đơn giản
def add(a, b):
return a + b
def subtract(a, b):
return a - b
Để sử dụng các hàm từ math_utils.py trong một file chính khác (ví dụ: main.py), bạn có thể dùng từ khóa import:
# File: main.py
import math_utils
result1 = math_utils.add(10, 5)
result2 = math_utils.subtract(10, 5)
print(f"Tổng: {result1}, Hiệu: {result2}")
Các cú pháp import phổ biến
- Import một hàm cụ thể:
from math_utils import add - Import toàn bộ với tên ngắn gọn (alias):
import math_utils as mu - Import tất cả thành phần:
from math_utils import *(nên hạn chế dùng để tránh trùng tên biến)
2. Sử Dụng Thư Viện Chuẩn (Standard Library)
Python đi kèm với một bộ thư viện chuẩn rất phong phú, cho phép bạn thực hiện nhiều tác vụ phổ biến mà không cần cài đặt thêm bất kỳ công cụ nào bên ngoài.
import math
import os
import random
# Sử dụng module math
print(math.sqrt(16)) # Kết quả: 4.0
# Sử dụng module random
print(random.randint(1, 10)) # Sinh số ngẫu nhiên từ 1 đến 10
# Sử dụng module os để lấy thư mục hiện tại
print(os.getcwd())
3. Package Trong Python
Khi dự án có nhiều module, bạn có thể nhóm chúng vào các thư mục gọi là Package. Một package là một thư mục chứa nhiều file module cùng một file đặc biệt có tên __init__.py.
Cấu trúc thư mục Package
my_project/
│
├── main.py
└── mypackage/
├── __init__.py
├── arithmetics.py
└── string_utils.py
__init__.py: File đánh dấu thư mục là một Python package (có thể để trống hoặc chứa mã khởi tạo).arithmetics.pyvàstring_utils.py: Các module con bên trong package.
Trong file main.py, bạn gọi các thành phần của package như sau:
from mypackage.arithmetics import add
print(add(5, 2))
4. Quản Lý Thư Viện Ngoài Với Pip
Mặc dù thư viện chuẩn của Python rất lớn, nhưng cộng đồng lập trình viên còn xây dựng hàng trăm nghìn thư viện mở rộng trên PyPI (Python Package Index). Công cụ chính để cài đặt và quản lý các thư viện này là pip.
Các câu lệnh pip cơ bản
Mở Terminal hoặc Command Prompt trên máy tính để thực hiện các lệnh sau:
- Kiểm tra phiên bản pip:
pip --version - Cài đặt một package:
pip install requests - Cập nhật một package lên phiên bản mới nhất:
pip install --upgrade requests - Gỡ bỏ một package:
pip uninstall requests - Xem danh sách các package đã cài đặt:
pip list - Xuất danh sách package phục vụ chia sẻ dự án:
pip freeze > requirements.txt
Ví dụ sử dụng thư viện cài qua pip
Sau khi cài đặt thư viện requests bằng câu lệnh pip install requests, bạn có thể gửi yêu cầu HTTP đến một trang web một cách dễ dàng:
import requests
response = requests.get("https://api.github.com")
print(f"Trạng thái HTTP: {response.status_code}")
Kết Luận
Quản lý tốt module và package giúp mã nguồn của bạn được tổ chức một cách rõ ràng, dễ mở rộng và tái sử dụng. Việc thành thạo công cụ pip cũng mở ra cánh cửa cho phép bạn tận dụng hàng nghìn thư viện mạnh mẽ do cộng đồng Python đóng góp. Trong bài tiếp theo, chúng ta sẽ bước vào thế giới Lập Trình Hướng Đối Tượng (OOP) với khái niệm Class và Object cơ bản.
Nguồn tham khảo
- Hướng dẫn cài đặt thêm thư viện trong Python sử dụng Pip Install và gỡ bỏ một thư viện
- Hướng dẫn đóng gói thư viện python và phân phối qua PyPI | Learn Anything - Kiến thức
- Cách cài đặt Python PIP trên Windows, Mac và Linux
- Machine Learning cơ bản
- Python PIP - Quản lý các Package trong Python — Phan Nhật Chánh
Nhận xét
Đăng nhận xét