Bài tập

Module và package trong Python - Tận dụng code một cách hiệu quả

Huy Erick

Trong Python, module và package là những thành phần quan trọng giúp quản lý code một cách linh hoạt và sắp xếp hợp lý. Các module cho phép lưu trữ và tái sử dụng code...

Trong Python, module và package là những thành phần quan trọng giúp quản lý code một cách linh hoạt và sắp xếp hợp lý. Các module cho phép lưu trữ và tái sử dụng code trên các file riêng biệt, trong khi package cho phép nhóm các module lại với nhau. Bằng cách sử dụng module và package, bạn có thể quản lý code dễ dàng trong các chương trình lớn và tái sử dụng code một cách thuận tiện.

Sử dụng module trong Python

Hãy xem ví dụ sau để hiểu rõ hơn về cách sử dụng module trong Python. Giả sử bạn có hai file "my_math.py" và "main.py" nằm trong cùng một thư mục. File "my_math.py" chứa các hàm tính toán, trong khi file "main.py" sử dụng các hàm này.

# File my_math.py
PI = 3.14159
E = 2.71828
message = 'Module toán học của tôi'

def sum(start, *numbers):
    '''Tính tổng của một số lượng không giới hạn các số'''
    for x in numbers:
        start += x
    return start

def sum_range(start, stop, step=1):
    '''Tính tổng của các số trong một khoảng'''
    sum = 0
    for i in range(start, stop, step):
        sum += i
    return sum

def fact(n):
    '''Tính giai thừa của một số'''
    p = 1
    for i in range(1, n + 1):
        p *= i
    return p

# File main.py
import my_math

print(my_math.message)
sum = my_math.sum(0, 1, 2, 3, 4)
sum_range = my_math.sum_range(1, 10)
fact = my_math.fact(3)
print('sum = ', sum)
print('sum_range = ', sum_range)
print('fact = ', fact)
print('Pi = ', my_math.PI)
print('e = ', my_math.E)

Bạn cần chạy chương trình từ file "main.py" để nhận kết quả. Khi thực thi, bạn sẽ thu được kết quả như sau:

Trong file "my_math.py", chúng ta định nghĩa một số hàm tính toán và biến. Trong file "main.py", chúng ta sử dụng các hàm đã được định nghĩa trong file "my_math.py". Để sử dụng các hàm và biến từ một module khác, Python sử dụng lệnh import. Bằng cách này, bạn có thể chia nhỏ code thành các module và tái sử dụng chúng trong các chương trình khác nhau.

Sử dụng package trong Python

Trong Python, bạn cũng có thể nhóm các module lại thành một package để quản lý code một cách thuận tiện hơn. Để tạo một package, bạn chỉ cần tạo một thư mục và đặt các module vào trong thư mục đó. Bạn cần tạo file "init.py" trong thư mục package để Python nhận biết được đây là một package.

Ví dụ, hãy tạo một package có tên "my_package" và trong thư mục này, tạo hai file module là "module1.py" và "module2.py". File "module1.py" chứa hàm và code liên quan, tương tự với file "module2.py". Trong file "init.py" của package "my_package", bạn có thể sử dụng lệnh import để nhúng các module vào package.

# File module1.py trong thư mục my_package
print('Đây là module 1')

def func1():
    print('Module 1 - hàm 1')

# File module2.py trong thư mục my_package
print('Đây là module 2')

def func2():
    print('Module 2 - hàm 2')

# File __init__.py trong thư mục my_package
from my_package.module1 import *
from my_package.module2 import *

Sau đó, bạn có thể sử dụng package "my_package" trong module "main.py" bằng cách import "my_package" và truy cập vào các hàm của các module bên trong package.

# File main.py
import my_package as mp

mp.module1.func1()
mp.module2.func2()

from my_package import *
module1.func1()

Lưu ý rằng khi import package, bạn không cần phải nhớ tên từng module mà chỉ cần nhớ tên của package. Khi import package, Python sẽ tự động import tất cả các module trong package. Bạn có thể truy cập vào các hàm của các module trong package bằng cú pháp "tên_package.tên_module.tên_hàm()".

Kết luận

Trong Python, module và package là những công cụ mạnh mẽ giúp quản lý code dễ dàng và tái sử dụng code một cách hiệu quả. Với module, bạn có thể lưu trữ code trong các file riêng biệt và sử dụng lại chúng trong các chương trình khác nhau. Với package, bạn có thể nhóm các module lại thành một package để quản lý code một cách thuận tiện.

Hãy tận dụng module và package trong Python để quản lý code một cách hiệu quả và tạo ra những chương trình tuyệt vời!

1