Module trong Python là gì?
Module trong Python là một file .py chứa biến, hàm hoặc class mà bạn có thể import vào file khác để dùng lại. Nhờ đó, code không bị dồn hết vào một nơi, dễ đọc hơn, dễ sửa hơn và dễ tái sử dụng hơn khi dự án lớn dần.
Khi mới học, bạn thường viết mọi thứ trong một file. Cách đó ổn với bài ngắn, nhưng sẽ nhanh chóng rối khi chương trình có nhiều chức năng. Module giúp bạn chia project thành từng phần rõ ràng, ví dụ một file chuyên tính toán, một file chuyên xử lý dữ liệu hoặc một file chuyên chạy chương trình chính.
Cú pháp cơ bản của import trong Python
Python có sẵn nhiều module tiêu chuẩn như math.
import math
print(math.sqrt(25))
print(math.pi)
Ở đây:
import mathnghĩa là nạp toàn bộ modulemath- khi dùng hàm hoặc biến bên trong, bạn gọi qua tên module như
math.sqrt()hoặcmath.pi
Bạn cũng có thể import riêng một phần cụ thể:
from math import sqrt
print(sqrt(49))
Khi viết như vậy, bạn gọi trực tiếp sqrt() mà không cần thêm math. phía trước. Cách này ngắn hơn, nhưng nếu lạm dụng quá nhiều from ... import ..., code có thể khó theo dõi nguồn gốc của hàm.
Module python là gì trong thực tế?
Hãy tưởng tượng bạn đang viết một chương trình quản lý học viên. Nếu mọi hàm đều nằm trong main.py, file đó sẽ rất dài. Thay vào đó, bạn có thể tách như sau:
hoc_vien.pychứa hàm hoặc class liên quan đến học viêndiem_so.pychứa logic tính điểmmain.pylà nơi gọi và phối hợp các phần lại
Đây chính là lợi ích lớn nhất của module trong Python: chia nhỏ vấn đề để chương trình gọn hơn.
Cách tạo module Python của riêng bạn
Giả sử bạn có file tinh_toan.py như sau:
def tinh_tong(a, b):
return a + bSau đó, ở file khác bạn có thể import lại:
import tinh_toan
print(tinh_toan.tinh_tong(3, 4))
Đây là cách rất tốt để tách logic theo từng nhóm chức năng. Python xem file tinh_toan.py là một module vì nó chứa code có thể import được.
Bạn cũng có thể import riêng hàm cần dùng:
from tinh_toan import tinh_tong
print(tinh_tong(10, 5))
Nếu file module có nhiều hàm liên quan, bạn nên giữ nguyên dạng import tinh_toan để nhìn code rõ hơn, đặc biệt với người mới.
Cách dùng module trong Python với thư viện chuẩn
Ngoài module tự tạo, Python còn có thư viện chuẩn rất hữu ích. Ví dụ với random:
import random
so_ngau_nhien = random.randint(1, 10)
print(so_ngau_nhien)
Hoặc với math:
import math
ban_kinh = 5
dien_tich = math.pi * ban_kinh ** 2
print(dien_tich)
Nhờ module, bạn không cần tự viết lại mọi thứ từ đầu. Đây là lý do việc học import trong Python rất quan trọng từ sớm.
Khi nào nên dùng module trong Python?
- Khi code bắt đầu dài và khó theo dõi.
- Khi có nhiều hàm liên quan đến cùng một chủ đề.
- Khi bạn muốn tái sử dụng code ở nhiều file khác nhau.
- Khi làm việc nhóm và mỗi người phụ trách một phần riêng.
- xử lý toán học
- kiểm tra dữ liệu
- làm việc với file
- hiển thị menu
- xử lý dữ liệu JSON
Cách đặt tên module để dễ hiểu
Tên module nên ngắn, rõ nghĩa và viết thường. Ví dụ:
tinh_toan.pyquan_ly_file.pykiem_tra_du_lieu.py
Bạn nên tránh tên quá chung chung như
code.py, test.py, abc.py vì nhìn vào không đoán được chức năng của file. Đặt tên tốt giúp project dễ đọc hơn ngay cả khi bạn quay lại sau vài tuần.
Những lỗi thường gặp với module trong Python
- Đặt tên file trùng với tên module chuẩn như
math.py. - Import sai tên file.
- Quên rằng Python chỉ import được file ở đúng vị trí hoặc trong đường dẫn phù hợp.
- Tạo vòng import lẫn nhau giữa hai file, làm chương trình khó chạy.
# Khong nen dat ten file la math.py
import mathĐiều này có thể làm Python import nhầm file của bạn thay vì module chuẩn.
Một lỗi nữa là tạo file tinh_toan.py nhưng lại viết:
import tinhToanPython phân biệt tên rất rõ. Bạn phải import đúng tên file.
Nếu import không được, hãy kiểm tra lần lượt:
- file có cùng thư mục với file đang chạy không
- tên file có đúng không
- có bị trùng với module chuẩn không
- có lỗi cú pháp trong file module không
Bài tập thực hành
Tạo file chao.py chứa hàm xin_chao(ten). Sau đó tạo file khác và import hàm này để in lời chào cho 2 người khác nhau.
Gợi ý:
def xin_chao(ten):
print(f"Xin chào {ten}")Bạn có thể mở rộng bài tập bằng cách tạo thêm hàm tam_biet(ten) trong cùng module và import sang file chính để gọi cả hai hàm.
Câu hỏi thường gặp về module trong Python
import math và from math import sqrt khác nhau thế nào?
import math sẽ import cả module và bạn cần gọi bằng math.sqrt(). from math import sqrt chỉ import riêng sqrt, nên bạn gọi trực tiếp sqrt(). Với người mới, import math thường dễ đọc hơn vì bạn biết hàm đến từ đâu.
Khi nào nên tách code thành module?
Hãy bắt đầu tách module khi bạn thấy một file đang quá dài hoặc có nhiều hàm cùng một nhóm chức năng. Làm vậy sớm sẽ giúp dự án gọn và dễ mở rộng hơn.
Module và thư viện có giống nhau không?
Một module thường là một file .py. Thư viện có thể là tập hợp nhiều module phục vụ một mục đích lớn hơn. Bạn có thể hiểu đơn giản module là đơn vị nhỏ hơn bên trong thư viện.
Có nên import mọi thứ bằng dấu * không?
Người mới không nên dùng from module import * vì cách này làm không gian tên bị lẫn lộn, khó biết một hàm đến từ đâu. Import rõ ràng sẽ an toàn và dễ đọc hơn.
Tóm tắt
Bạn đã hiểu module trong Python là gì, cách dùng import, from ... import, cách tạo module riêng và khi nào nên tách code thành nhiều file. Đây là bước rất quan trọng để chuyển từ script ngắn sang project rõ cấu trúc hơn. Ở bài tiếp theo, chúng ta sẽ học môi trường ảo Python để quản lý thư viện cho từng project riêng biệt.
Bài viết liên quan

Next.js là gì? Tại sao nên dùng Next.js để làm web?
Giới thiệu Next.js — framework React phổ biến nhất. Tìm hiểu ưu điểm, tính năng nổi bật và khi nào nên dùng.

Con bug đầu tiên trong cuộc đời lập trình viên
Câu chuyện hài hước về lần đầu gặp bug và mất 3 tiếng để tìm ra nguyên nhân chỉ là... thiếu dấu chấm phẩy.

Hướng dẫn cài đặt Python chi tiết trên Windows, macOS, Linux
Hướng dẫn từng bước cài đặt Python trên mọi hệ điều hành. Kèm cách kiểm tra và chạy chương trình đầu tiên.