Bài 9 - Các Module Khác Nhau trong Python
I. Giới thiệu về Module trong Python
Module phát âm tiếng anh Mỹ là /ˈmɑː.dʒuːl/ - dịch tiếng việt là mô-đun.
Module là một tệp Python (bao gồm các file với tên kết thúc bằng đuôi .py) chứa các hàm, biến và lớp có thể được tái sử dụng trong các chương trình khác. Python có một hệ sinh thái module phong phú, bao gồm:
- Module tích hợp sẵn (Built-in): Có hơn 200 modules tích hợp sẵn trong Python truy cập http://doc.python.org/3/py-modindex.html (xắp xếp theo thứ tự chữ cái)
- Module bên ngoài (còn gọi là third-party module, không có sẵn nên bạn phải cài ví dụ
pip install kagglehub trong terminal
) - Module tự tạo (Custom)
II. Các Loại Module Quan Trọng
Có hơn 200 modules tích hợp sẵn trong Python truy cập http://doc.python.org/3/py-modindex.html (xắp xếp theo thứ tự chữ cái). Các module như math, os, datetime
, json, csv
được buit-in sẵn trong Python khi sử dụng bạn chỉ cần import.
1. Module Toán Học (math)
import math
print(math.sqrt(16)) # 4.0 (căn bậc hai)
print(math.pi) # 3.141592653589793
print(math.factorial(5)) # 120 (5!)
Ứng dụng: Tính toán khoa học, xử lý số liệu
2. Module Hệ Thống (os)
import os # Lấy đường dẫn thư mục hiện tại
print(os.getcwd()) # Liệt kê tệp trong thư mục print(os.listdir())
Ứng dụng: Làm việc với hệ thống tệp
3. Module Thời Gian (time, datetime)
import time from datetime
import datetime # Đếm ngược
time.sleep(2) # Dừng 2 giây
# Lấy thời gian hiện tại
now = datetime.now()
print(now.strftime("%d/%m/%Y")) # 15/07/2023
4. Module Xử Lý Dữ Liệu (json, csv)
import json
import csv
# Đọc file JSON with open('data.json') as f: data = json.load(f) # Ghi file CSV with open('output.csv', 'w') as f: writer = csv.writer(f) writer.writerow(['Name', 'Age'])
5. Module Mạng (requests)
import requests
response = requests.get('https://api.github.com')
print(response.status_code) # 200
Ứng dụng: Làm việc với API web
6. Module Phân Tích Dữ Liệu (numpy, pandas)
Module numpy và pandas không sẵn có khi cài Python, nên bạn cần cài đặt sau đó import.
import numpy as np
import pandas as pd
# Tạo mảng numpy
arr = np.array([1, 2, 3])
# Đọc dữ liệu với pandas
df = pd.read_csv('data.csv')
7. Module Đồ Họa (matplotlib)
matplotlib là một third-party module.
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 1])
plt.show()
III. Cách Sử Dụng Module
1. Import toàn bộ module
import math
print(math.sqrt(9))
2. Import với tên thay thế
Bạn có thể thay thế hay đổi tên module để cho ngắn gọn hơn ví dụ import pandas as pd
, như vậy khi sử dụng chúng ta chỉ cần gõ pd
mà không cần gõ toàn bộ tên module là pandas
.
import numpy as np
import pandas as pd
print(np.array([1, 2, 3]))
3. Import chỉ những hàm cần thiết
from math import sqrt, pi
print(sqrt(9))
4. Import tất cả hàm
from math import *
print(sin(pi/2))
IV. Tạo Module Tùy Chỉnh
- Tạo tệp
mymodule.py
:
def greet(name):
return f"Hello, {name}!" PI = 3.14
- Sử dụng module:
import mymodule
print(mymodule.greet("Alice"))
print(mymodule.PI)
V. Bài Tập Thực Hành
Bài 1: Viết chương trình tính diện tích hình tròn sử dụng module math
import math radius = 5 area = math.pi * math.pow(radius, 2) print(f"Diện tích: {area:.2f}")
Bài 2: Tạo module tự viết chứa hàm kiểm tra số nguyên tố
prime_checker.py:
def is_prime(n): if n <= 1: return False for i in range(2, int(n**0.5) + 1): if n % i == 0: return False return True
main.py:
from prime_checker import is_prime print(is_prime(17)) # True
VI. Tổng Kết
- Python có hệ thống module phong phú cho mọi nhu cầu
- Có thể dễ dàng tạo module tùy chỉnh
- Sử dụng module giúp code có tổ chức và dễ bảo trì
Các module là một trong những tính năng mạnh mẽ nhất của Python, giúp bạn không phải "phát minh lại bánh xe"! 🚀