Mục lục bài viết

1. Module trong Python

1.1. Module trong Python là gì?

Module trong Python là một file chứa những câu lệnh (statement) và định nghĩa (definition). Ví dụ, một file example.py là một module với tên module là example.

Trong một module, chúng ta có thể định nghĩa hàm (function), lớp (class), biến (variable). Chúng ta sử dụng các module để chia một chương trình lớn thành các file nhỏ. Việc này giúp dễ quản lý chương trình và tổ chức cấu trúc chương trình logic hơn. Hơn nữa, các module cung cấp khả năng tái sử dụng code của chương trình.

Ví dụ, chúng ta có một module example.py như bên dưới.

def add(x, y):
    """This program adds two numbers and return the result"""
    result = x + y
    return result
 
def subtract(x, y):
    """This program subtracts two
    numbers and return the result"""
    result = x - y
    return result

Module example.py gồm định nghĩa 2 hàm là add()subtract().

1.2. Import module trong Python

Chúng ta có thể sử dụng các function, class, variable của một module trong một module khác. Để làm điều này, chúng ta cần import một module vào một module khác. Sau đó, chúng ta sử dụng toán tử chấm (.) để sử dụng các thành phần trong module được import. Ví dụ, chúng ta import module example vào module main (file main.py).

import example

a = 1
b = 2
print("a + b = ", example.add(a, b))
print("a - b = ", example.subtract(a, b))
Kết quả
a + b =  3
a - b =  -1

Lưu ý: Module được import phải tồn tại và nằm trong các thư mục mà trình biên dịch Python tìm kiếm các module như Lib folder trong folder cài đặt Python, folder chứa chương trình Python đang lập trình,…

Ví dụ khác về import các module

import math

a = 16
b = 3.14
print(math.sqrt(a))
print(math.sin(b))
print(math.pi)
Kết quả
4.0
0.0015926529164868282
3.141592653589793

1.3. Import và đổi tên module

Chúng ta có thể import và đổi tên module.

import math as m
print("The value of pi is", m.pi)
Kết quả
The value of pi is 3.141592653589793

Chúng ta chỉ thường đổi tên module khi tên module quá dài. Việc đổi tên module này chỉ có phạm vi sử dụng trong module có câu lệnh import đó.

1.4. Câu lệnh from…import trong Python

Chúng ta có thể import các thành phần cụ thể từ một module mà không cần import toàn bộ module. Ví dụ:

from math import pi, e
print("The value of pi is", pi)
print("The value of e is", e)
Kết quả
The value of pi is 3.141592653589793
The value of e is 2.718281828459045

Trong ví dụ trên, khi sử dụng pi, e thì không cần sử dụng toán tử chấm (.). Và chỉ có pi, e trong module math được sử dụng.

1.5. Import tất cả thành phần trong module

Chúng ta có thể import tất cả các thành phần trong module với dấu hoa thị (*).

from math import *
print("The value of pi is", pi)
print("The value of e is", e)
Kết quả
The value of pi is 3.141592653589793
The value of e is 2.718281828459045

Tất cả các thành phần trong module math có thể được sử dụng mà không cần dùng toán tử chấm (.).

1.6. Các folder mà Python sẽ tìm các module để import

Khi import một module, Python sẽ tìm module đó trong một số thư mục theo thứ tự:

    • Thư mục hiện tại.
    • PYTHONPATH (biến môi trường với danh sách các thư mục).
    • Thư mục mặc định phụ thuộc vào cấu hình.

Chương trình in ra các thư mục của biến môi trường

import sys
 
# importing sys.path
print(sys.path)
Kết quả
['c:\\python-examples', 'C:\\Python\\Python310\\python310.zip', 'C:\\Python\\Python310\\DLLs', 'C:\\Python\\Python310\\lib', 'C:\\Python\\Python310', 'C:\\Python\\Python310\\lib\\site-packages']

1.7. Danh sách các thành phần trong module

import example
print(dir(example))
Kết quả
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'add', 'subtract']

2. Package trong Python

Package trong Python bao gồm một hoặc nhiều module. Package giống như một thư mục (directory). Một package có thể chứa các package khác.

Một directory muốn được Python xem là một package khi directory đó chứa một file tên là __init__.py. File này có thể rỗng nhưng file này thường chứa những code khởi tạo (initialization code) cho package.

Khi chương trình Python lớn với rất nhiều module, chúng ta đặt các module có chung đặc điểm nào đó trong một package. Từ đó, chúng ta có thể có nhiều package khác nhau. Điều này làm cho một chương trình lớn dễ quản lý và rõ ràng hơn về cấu trúc cũng như logic chương trình.

Sơ đồ ví dụ một package trong Python

Ví dụ về package trong Python

Import module từ một package

Chúng ta có thể import các module từ các package bằng cách sử dụng toán tử chấm (.). Ví dụ, chúng ta muốn import module outfit như trong sơ đồ trên thì sẽ viết như sau:

import Robot.Design.outfit

Chúng ta cũng có thể import module outfit với câu lệnh from…import như sau:

from Robot.Design import outfit

Từ đây, chúng ta có thể sử dụng các module theo các kiến thức về module trong Python ở phần 1.

Tác giả

Vinh Lê

Giảng viên CNTT, chia sẻ tutorial lập trình & phần cứng tại Góc Học IT. Hơn 500 bài viết hướng dẫn từ cơ bản đến nâng cao.

Gợi ý tiếp theo

Sử dụng kiểu dữ liệu String trong Python

Học tiếp