1. Định nghĩa Module trong Python

Trong Python, module là một file có định dạng .py và các file này sẽ chứa tập hợp các hàm, các đối tượng cần thiết để sử dụng cho một mục đích nhất định trong chương trình. Module thường được sử dụng khi muốn chia chương trình lớn thành những file nhỏ hơn để dễ quản lý và tổ chức.

Trong Python, có một số module có sẵn, chúng cũng gần giống như các thư viện trong Python như: math, random, threading, collections, os, mailbox, string, time, … Trong các Module này đã định nghĩa sẵn rất nhiều hàm để bạn có thể sử dụng để thực hiện các tính năng khác nhau.

Những người lập trình viên trong Python cũng có thể tự tạo một module cho riêng mình, khi đó ta chỉ cần tạo một file chứa mã nguồn Python, ví dụ laptrinhtudau.py được gọi là module và tên của module sẽ là laptrinhtudau

2. Tạo và nhập Module trong Python

2.1 Tạo một Module trong Python

Để tạo Module, chỉ cần lưu mã nguồn Python bạn muốn tạo vào tệp có đuôi tệp .py và thực hiện lưu lại file trong một thư mục dễ dàng có thể lấy ra sử dụng. Mã nguồn có thể là các hàm, các đối tượng được dùng để thực hiện một chức năng nhất định trong chương trình.

Ví dụ, tôi tạo một module có tên tinhtong trong file tinhtong.py – mã nguồn trong file này sẽ bao gồm một hàm có chức năng tính tổng và trả về giá trị của hai đối số đầu vào a, b trong hàm:

# tinhtong.py
# Khai bao ham tinhtong(a,b)
def tinhtong(a, b):
    kq = a + b # Thuc hien phep tinh va gan cho bien kq
    return kq # Tra ve kq

Như vậy, thực chất một file module trong Python cũng là một chương trình Python. Chương trình này sẽ chỉ thực hiện một số chức năng nhất định mà ta đã định nghĩa trước – và được gọi là các chương trình con.

2.2 Nhập một Module vào chương trình Python

Chúng ta có thể nhập các module này vào module khác trong Python – việc này có thể hiểu là nhập các đoạn mã trong các file này vào trong file khác.

Để thực hiện nhập các module này vào module khác ta cần sử dụng từ khóa import để thực hiện việc này. Ví dụ chúng ta cần nhập vào module tinhtong.py và đặt tên cho module này thông qua từ khóa as như sau:

import tinhtong as sum # Nhap module tinhtong.py va dat ten la sum

Để nhập cụ thể một hàm trong module này vào module khác ta cần sử dụng từ khóa from…import để thực hiện việc này. Ví dụ chúng ta cần nhập hàm def tinhtong(a,b) có trong module tinhtong.py

# Chi nhap ham tinhtong() trong module tinhtong.py
from tinhtong import tinhtong

Chú ý: Sau khi module nhập vào được đặt tên bởi từ khóa as ta chỉ cần gọi tên đã được đặt và sử dụng!

Ví dụ dưới đây, tạo mới một file có tên main.py – trong file này sẽ nhập vào module tinhtong.py sau đó thực hiện gọi và sử dụng hàm def tinhtong(a,b) có trong module tinhtong.py như sau:
# main.py
# Nhap module tinhtong.py va dat ten la sum
import tinhtong as sum

# Khai bao hai bien a, b
a = 5
b = 5

# Su dung ham tinhtong(a,b) trong module tinhtong.py
kq = sum.tinhtong(a,b)
print("Sum = {0}".format(kq))

Kết quả:

Sum = 10
Bạn có thể nhập cụ thể một tên hàm có trong module tinhtong.py bằng cách sử dụng câu lệnh from…import. Ví dụ nhập hàm def tinhtong(a,b) có trong module tinhtong.py vào trong file main.py như sau:
# main.py
# Chi nhap ham tinhtong() trong module tinhtong.py
from tinhtong import tinhtong

# Khai bao hai bien a, b
a = 5
b = 5

# Su dung ham tinhtong(a,b) trong module tinhtong.py
kq = tinhtong(a,b)
print("Sum = {0}".format(kq))

Kết quả:

Sum = 10

3. Các Module có sẵn trong Python

Python có cung cấp cho chúng ta một số module có sẵn để tiện thao tác trong quá trình làm việc với Python. Các module này là:

  • math – module chứa các hàm toán học
  • random – module chứa các hàm tạo số ngẫu nhiên
  • os – module chứa các hàm tương tác với hệ điều hành
  • string – module chứa các hàm thao tác với chuỗi
  • time – module chứa các hàm xử lý thời gian

Ngoài ra còn một số module khác chưa được liệt kê ở trên chỉ là một số module mặc định của Python mà ta sẽ sử dụng rất nhiều. Trong những bài sau, chúng ta sẽ cùng nhau đi chi tiết vào việc sử dụng các module trên.