Cơ bảncluster

Module và Package trong Python là gì?

8 phút đọc1 lượt xem
#module python#module trong python là gì#package python#import python#tạo module python

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
osThao tác với hệ điều hành, đường dẫn file
sysTương tác với trình thông dịch Python
mathHàm toán học: sqrt, sin, cos, pi, log
randomSinh số ngẫu nhiên
datetimeXử 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
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.pymymodule.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_package trướ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 import có 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 .py và 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.

Về tác giả

Ảnh đại diện tác giả Kenji — họa tiết hình học

Kenji

Kỹ sư phần mềm full-stack (Web), hơn 5 năm kinh nghiệm thực tế

  • Python
  • DB
  • Hạ tầng
  • Đào tạo & cố vấn
  • AI

Làm việc cùng đồng nghiệp người Việt, tôi thấy thiếu tài liệu kỹ thuật rõ ràng bằng tiếng Việt. codeahoc là nơi tôi chia sẻ theo hướng thực tế, dễ áp dụng.

Nguyên tắc nội dung

  • Ưu tiên nguồn gốc và góc nhìn từ thực tế triển khai.
  • Nếu có sai sót, nội dung sẽ được cập nhật và sửa kịp thời.

Khóa học liên quan

100 Days of Code: The Complete Python Pro Bootcamp

Học Python qua 100 dự án thực tế. Phù hợp cho người mới bắt đầu.

4.7499.000 ₫
Xem khóa học →

Python for Data Science and Machine Learning Bootcamp

Học Data Science với Python: pandas, matplotlib, scikit-learn.

4.6499.000 ₫
Xem khóa học →

Automate the Boring Stuff with Python

Tự động hóa công việc lặp đi lặp lại bằng Python.

4.6399.000 ₫
Xem khóa học →
Quảng cáo