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ụ:

1710748990-tao-python-don-gian.png

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ể

vi-du-ve-package-trong-python.jpg

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.