Trong Python, "module" và "package" là hai khái niệm quan trọng liên quan đến cách tổ chức và tái sử dụng mã nguồn. Dưới đây là giải thích về mỗi khái niệm:
Mục tiêu bài học
- Hiểu Module - Package là gì? Mục đích của nó
- Viết Module Package đơn giản
Module
Trong Python, module là một tệp chứa mã code Python, có thể bao gồm hàm, lớp và biến, cũng như code. Một module cho phép bạn tổ chức mã của mình theo cách có cấu trúc và có thể tái sử dụng. Bạn có thể sử dụng module bằng cách sử dụng câu lệnh import
Ví dụ: bạn đang làm phần mềm về quản lý nhà trường, bạn có thể tạo các module nhỏ như: giáo viên, học sinh, tài sản ..v..v.
Bạn có thể sử dụng các module có sẵn do Python cung cấp như math, datetime, random (xem danh sách tại đây), hoặc tạo ra các module của riêng mình để tái sử dụng mã nguồn.
Import Module
Để import một module trong Python, ta sử dụng cấu trúc sau:
import module1, module2, ...
#ví dụ
import math, time
Import 1 phần của module
Trường hợp bạn chỉ uốn import một phần của module, thay vì import cả module không dùng hết, gây lãng phí tài nguyên thì có thể dùng cấu trúc sau:
from modules import child1, child2,...
#Ví dụ:
from math import ceil, floor, fsum
Import với Alias
import module_name as alias
Alias dịch sang có nghĩa là bí danh, chức năng này cho phép mỗi khi import bạn có thể đặt lại tên module để sử dụng. Vậy khi nào thì cần dùng chức năng này, bạn nên sử dụng khi:
- Khi tên module quá dài, khó nhớ
- Bạn không thích tên module hiện tại thì bạn đổi 😁😁😁
Tự tạo Moudule
Không chỉ sử dụng các module có sẵn, bạn cũng có thể tạo riêng cho mình nhưng module khác để phục vụ mục đích của mình. Trước khi bắt đầu, bạn hãy tạo cho mình 1 project để tiện cho việc học tập ví dụ:
Bạn hãy tạo module tinh_toan.py cùng cấp với file main.py có nội dung sau:
def get_sumary():
return 9+9
def get_sub():
return 10 - 1
def get_div():
return 100/10
Để sử dụng module này ta viết trong file main.py với nội dung:
import tinh_toan
tong = tinh_toan.get_sumary()
print(tong) #output: 18
hieu = tinh_toan.get_sub()
print(hieu) #output 8
Package
Một package là một cách để tập hợp các module lại với nhau. Trong 1 dự án, bạn sẽ thấy nó là một thư mục chứa một tệp đặc biệt tên là __init__.py
, tệp này có thể trống hoặc định nghĩa các thuộc tính của package. Package cho phép bạn tạo ra không gian tên phân cấp cho module, giúp tổ chức và quản lý mã Python một cách hiệu quả hơn.
Ví dụ, nếu bạn có một thư mục có tên là mypackage
với hai module là module1.py
và module2.py
, thì mypackage
sẽ là package và module1
và module2
sẽ là các module của nó. Để sử dụng một module trong package, bạn có thể sử dụng câu lệnh sau:
from mypackage import module1
import mypackage.module1 as mod1
Ví dụ cụ thể
Trong ví dụ này, tôi đã tạo Package tên là user, trong đó có 2 module là thong-tin và tien-luong, và một tệp __init__.py. Để được coi là 1 package thì thư mục user bắt buộc phải khai báo __init__.py.