Hàm Bậc Nhất trong Python – First-Class Functions

hướng dẫn học python tìm hiểu ngôn ngữ lập trình python nguyễn Đức mùi

Trong Python, hàm được coi là đối tượng bậc nhất (first-class citizens), có nghĩa là chúng có thể được xử lý như bất kỳ biến nào khác. Điều này giúp Python trở nên linh hoạt và hỗ trợ lập trình hướng hàm tốt hơn.

hướng dẫn học python tìm hiểu ngôn ngữ lập trình python nguyễn Đức mùi

Cụ thể, một hàm trong Python có thể:
✔ Được gán cho biến khác.
✔ Được truyền làm đối số cho một hàm khác.
✔ Được trả về từ một hàm.
✔ Được lưu trữ trong các cấu trúc dữ liệu như danh sách hoặc từ điển.

1. Gán Hàm Cho Biến

Python cho phép gán một hàm cho một biến và gọi hàm thông qua biến đó.

Ví dụ:

def chao_ten(ten):
    return f"Xin chào, {ten}!"

# Gán hàm cho biến
f = chao_ten  

# Gọi hàm qua biến
print(f("An"))  

Kết quả:

Xin chào, An!

Giải thích:

Hàm chao_ten được gán cho biến f, sau đó f được dùng để gọi hàm. Điều này cho thấy rằng hàm có thể được xử lý như một biến thông thường.


2. Truyền Hàm Làm Đối Số

Một hàm có thể nhận một hàm khác làm đối số, giúp hỗ trợ lập trình hàm bậc cao (higher-order functions).

Ví dụ:

def chao_ten(ten):
    return f"Xin chào, {ten}!"

def goi_ham(ham, ten):
    return ham(ten)

# Truyền hàm làm đối số
print(goi_ham(chao_ten, "Nam"))  

Kết quả:

Xin chào, Nam!

Giải thích:

Hàm goi_ham nhận một hàm ham và một chuỗi ten, sau đó gọi ham(ten). Chúng ta truyền chao_ten vào goi_ham để gọi hàm một cách linh hoạt.


3. Trả Về Một Hàm Từ Một Hàm Khác

Python cho phép một hàm trả về một hàm khác. Điều này hữu ích để tạo hàm nhà máy (function factory).

Ví dụ:

def tao_thong_diep(thong_diep):
    def hien_thi():
        return f"Nội dung: {thong_diep}"
    return hien_thi  

# Gọi hàm tạo hàm con
ham = tao_thong_diep("Chào mừng bạn đến với Python!")
print(ham())  

Kết quả:

Nội dung: Chào mừng bạn đến với Python!

Giải thích:

Hàm tao_thong_diep trả về một hàm hien_thi. Sau đó, ham lưu trữ hàm hien_thi và có thể được gọi để lấy nội dung thông điệp.


4. Lưu Trữ Hàm Trong Cấu Trúc Dữ Liệu

Hàm có thể được lưu trữ trong danh sách hoặc từ điển và gọi thông qua chỉ mục hoặc khóa.

Ví dụ:

def cong(a, b):
    return a + b

def tru(a, b):
    return a - b

# Lưu trữ hàm trong từ điển
phep_toan = {
    "cong": cong,
    "tru": tru
}

# Gọi hàm từ từ điển
print(phep_toan["cong"](8, 5))  # 13
print(phep_toan["tru"](8, 5))   # 3

Kết quả:

13
3

Giải thích:

Hàm congtru được lưu trong một từ điển. Chúng ta có thể gọi các hàm này bằng cách truy xuất chúng từ từ điển thông qua khóa.


Kết Luận

✔ Python coi hàm là đối tượng bậc nhất, giúp viết mã linh hoạt hơn.
✔ Có thể gán hàm cho biến, truyền làm đối số, hoặc trả về từ một hàm khác.
✔ Hàm có thể được lưu trong danh sách hoặc từ điển để dễ dàng quản lý.

Sử dụng first-class functions giúp mã Python trở nên linh hoạt, ngắn gọn và dễ bảo trì hơn. 🚀

Menu Python>>

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Hotline: 039.2266.928
Khóa học Toefl
Phone now