Bạn đã bao giờ thắc mắc tại sao chỉ cần gõ import math là có thể dùng ngay math.sqrt() mà không cần tự viết hàm tính căn bậc hai? Câu trả lời chính là module.
Nếu bạn chưa biết Python là gì, hãy đọc bài Python là gì? Giới thiệu ngôn ngữ lập trình cho người mới bắt đầu trước khi tiếp tục. Còn nếu bạn đã có nền tảng cơ bản, hãy cùng khám phá cách Python tổ chức code thông qua module và package.
Trong bài này bạn sẽ học được:
- Module trong Python là gì và tại sao cần dùng
- Ba cách sử dụng lệnh
import - Các module tiêu chuẩn phổ biến nhất
- Package khác module ở điểm nào
- Cách tự tạo module Python của riêng bạn
- Cài thêm thư viện từ bên ngoài bằng pip
Module trong Python là gì?
Module trong Python là một file .py chứa code Python — có thể là hàm, class, hoặc biến — mà bạn có thể dùng lại ở các file khác. Không hơn, không kém.
Hãy hình dung module như một cuốn sổ tay công thức. Bạn không cần nhớ thuộc lòng mọi công thức toán học, chỉ cần biết lấy nó ở đâu khi cần. Python cũng vậy: thay vì viết đi viết lại cùng một đoạn code, bạn đặt nó vào một module và gọi ra khi cần dùng.
Lợi ích của module:
- Tái sử dụng code: viết một lần, dùng nhiều nơi
- Dễ bảo trì: mỗi file có nhiệm vụ rõ ràng, sửa lỗi dễ hơn
- Code dễ đọc hơn: chia nhỏ chương trình thành các phần logic
Cách sử dụng lệnh import trong Python
Để dùng một module, bạn cần ra lệnh cho Python nạp nó vào bằng từ khóa import. Có ba cách phổ biến:
Cách 1: Import toàn bộ module
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592653589793
Khi dùng cách này, bạn gọi hàm bằng cú pháp tên_module.tên_hàm(). Ưu điểm là dễ nhận ra hàm đến từ module nào.
Cách 2: Import một hàm cụ thể
from math import sqrt
print(sqrt(25)) # 5.0
Bạn có thể gọi trực tiếp sqrt() mà không cần tiền tố math.. Thích hợp khi chỉ cần dùng một vài hàm nhất định.
Cách 3: Import với alias (tên viết tắt)
from math import sqrt as sq
print(sq(9)) # 3.0
Dùng alias khi tên hàm quá dài hoặc bạn muốn đặt tên ngắn hơn cho tiện. Đây cũng là cách phổ biến với thư viện như import numpy as np.
Bạn cũng có thể import module để làm việc với hệ điều hành:
import os
print(os.getcwd()) # In ra thư mục đang làm việc
print(os.listdir(".")) # Liệt kê file trong thư mục hiện tại
Lưu ý quan trọng: Tránh dùng from module import * vì nó nạp toàn bộ tên vào không gian hiện tại, dễ gây xung đột tên và khó debug.
Muốn hiểu sâu hơn về hàm trước khi dùng module? Xem bài Hàm trong Python là gì? Cách tạo và sử dụng hàm.
Các module tiêu chuẩn phổ biến trong Python
Python đi kèm hàng trăm module có sẵn gọi là thư viện chuẩn (standard library) — cài Python xong là dùng được ngay, không cần cài thêm. Đây là lý do người ta hay nói Python là ngôn ngữ "batteries included" (pin đã có sẵn).
| Module | Công dụng |
|---|---|
os | Thao tác với hệ điều hành, đường dẫn file |
sys | Tương tác với trình thông dịch Python |
math | Hàm toán học: sqrt, sin, cos, pi, log |
random | Sinh số ngẫu nhiên |
datetime | Xử lý ngày giờ |
json | Đọc và ghi dữ liệu JSON |
Ví dụ sử dụng random, datetime, và json:
import random
import datetime
import json
# Sinh số ngẫu nhiên từ 1 đến 100
print(random.randint(1, 100))
# Lấy ngày giờ hiện tại
now = datetime.datetime.now()
print(now.strftime("%d/%m/%Y %H:%M")) # Ví dụ: 24/03/2026 09:30
# Chuyển dict thành chuỗi JSON
data = {"name": "Python", "version": 3}
json_str = json.dumps(data)
print(json_str) # {"name": "Python", "version": 3}
Package trong Python là gì? Khác module ở điểm nào?
Khi dự án lớn dần, chỉ dùng từng module riêng lẻ chưa đủ. Lúc này bạn cần package — một thư mục chứa nhiều module liên quan đến nhau.
Điều kiện để Python nhận diện một thư mục là package: thư mục đó phải có file __init__.py (có thể để trống).
mypackage/
__init__.py # Bắt buộc có file này
utils.py
models.py
Cách import từ package:
from mypackage import utils
from mypackage.models import User
| Module | Package | |
|---|---|---|
| Là | File .py đơn lẻ |
Thư mục chứa nhiều module |
| Ví dụ | math.py |
os (thực ra là package) |
Cần __init__.py? |
Không | Có (Python < 3.3) |
Cách tự tạo module Python của riêng bạn
Tin vui: tạo module Python không có gì phức tạp cả. Bạn chỉ cần tạo một file .py là xong.
Bước 1: Tạo file mymodule.py
# mymodule.py
def greet(name):
return f"Xin chào, {name}!"
def add(a, b):
return a + b
PI = 3.14159
Bước 2: Tạo file main.py trong cùng thư mục và import module vừa tạo
# main.py
import mymodule
print(mymodule.greet("Python")) # Xin chào, Python!
print(mymodule.add(3, 5)) # 8
print(mymodule.PI) # 3.14159
Chạy main.py và bạn sẽ thấy kết quả ngay. Điều quan trọng cần nhớ: main.py và mymodule.py phải nằm trong cùng một thư mục.
Cài thêm thư viện bằng pip – Package từ bên ngoài
Ngoài thư viện chuẩn, cộng đồng Python đã tạo ra hàng trăm nghìn package chia sẻ trên PyPI (Python Package Index). Bạn cài chúng về bằng công cụ pip.
# Chạy lệnh này trong terminal trước
# pip install requests
import requests
response = requests.get("https://api.github.com")
print(response.status_code) # 200
Khác biệt cơ bản:
- Standard library: có sẵn khi cài Python, dùng ngay không cần gì thêm
- Third-party package: cần chạy
pip install tên_packagetrước khi dùng
Xem hướng dẫn chi tiết về pip và cách quản lý thư viện tại bài pip trong Python là gì? Hướng dẫn cài và quản lý thư viện.
Tổng kết
Qua bài này, bạn đã nắm được những kiến thức nền tảng về module và package trong Python:
- Module = file
.py; là đơn vị tái sử dụng code cơ bản nhất - Lệnh
importcó 3 dạng: toàn bộ, từng hàm, và alias - Python đi kèm thư viện chuẩn phong phú:
os,math,random,datetime,json... - Package = thư mục chứa nhiều module, cần có
__init__.py - Tự tạo module chỉ cần tạo file
.pyvà import - Dùng
pip installđể thêm package từ bên ngoài
Bước tiếp theo: đào sâu vào hàm trong Python, tìm hiểu pip và quản lý môi trường ảo, hoặc ôn lại kiến thức cơ bản về Python.