Khi chương trình lớn dần, bạn không thể viết mọi thứ trong một khối code khổng lồ. Hàm và module giúp bạn tổ chức, tái sử dụng và bảo trì code hiệu quả.
Định nghĩa hàm
def chao(ten):
return f"Xin chào, {ten}!"
print(chao("Minh")) # Xin chào, Minh!
Tham số mặc định và tham số từ khóa
def tinh_tien(so_luong, don_gia=10000):
return so_luong * don_gia
tinh_tien(3) # 30000 (dùng đơn giá mặc định)
tinh_tien(3, 15000) # 45000
tinh_tien(so_luong=2, don_gia=20000) # rõ ràng bằng tên tham số
Hàm trả về nhiều giá trị
def chia(a, b):
return a // b, a % b # trả về một tuple
thuong, du = chia(17, 5) # thuong=3, du=2
*args và **kwargs
def tong(*args):
return sum(args)
tong(1, 2, 3, 4) # 10 - nhận số lượng tham số tùy ý
Module: chia code thành nhiều file
Giả sử bạn có file toan_hoc.py:
# toan_hoc.py
def cong(a, b):
return a + b
Ở file khác, bạn import và dùng lại:
# main.py
import toan_hoc
print(toan_hoc.cong(2, 3)) # 5
# hoặc chỉ import thứ cần
from toan_hoc import cong
print(cong(2, 3))
Thư viện chuẩn — “pin đi kèm”
Python có triết lý “batteries included”: rất nhiều module hữu ích có sẵn, không cần cài thêm.
import math, random, datetime
math.sqrt(16) # 4.0
random.randint(1, 6) # số ngẫu nhiên 1-6
datetime.date.today() # ngày hôm nay
Nguyên tắc DRY
DRY — “Don’t Repeat Yourself” (Đừng lặp lại chính mình). Khi thấy mình copy-paste một đoạn code, hãy nghĩ đến việc tách nó thành một hàm. Đó là dấu hiệu của code chuyên nghiệp.
