Bài 52. HÀM KHÔNG TÊN LAMBDA P1 (CÚ PHÁP, ƯU ĐIỂM)

I. Hàm vô danh/Không tên Lambda

Trong Python, bên cạnh từ khoá def để tạo 1 hàm thì ta có thể dùng từ khoá lambda để tạo hàm vô danh/ không tên chỉ với 1 dòng.
Cú pháp:
Lambda argument1, arg2,… , argn: expression
Hàm Lambda được thiết kế để sử dụng các câu điều kiện mà không cần từ khoá  If. Do đó, Lambda được dùng cho các hàm đơn giản.

Ví dụ 1:
Các câu lệnh:

# Khởi tạo 1 hàm sử dụng từ khoá def
def calcul1(a,b):
    area = a * b
    print(area)
#Truyền vào hàm calcul1 giá trị 6 và 9 
calcul1(6,9)
#Khởi tạo 1 hàm sử dụng từ khoá lambda
calcul2 = lambda a,b: print(a*b)
#Truyền vào hàm calcul2 giá trị 6 và 9
calcul2(6,9)

Kết quả trả ra:
54
54

Ví dụ 2:
Các câu lệnh:

# Khởi tạo 1 hàm sử dụng từ khoá def có chứa default argument
def calcul1(a,b=2):
    area = a * b
    print(area)
#Truyền vào hàm calcul1 giá trị 8 
calcul1(8)
#Khởi tạo 1 hàm sử dụng từ khoá lambda có chứa default argument
calcul2 = lambda a,b=2: print(a*b)
#Truyền vào hàm calcul2 giá trị 8
calcul2(8)

Kết quả trả ra:
16
16

II. Ưu điểm của Lambda so với Def

Khi bạn muốn tạo 1 hàm có cấu trúc đơn giản và tái sử dụng nhiều lần, chúng ta sẽ lựa chọn lambda thay vì def

Ví dụ 3:
Các câu lệnh:

# Khởi tạo1 list sử dụng lambda
list1 = [lambda x: x**2, lambda x: x**3, lambda x: x**4]
#Dùng vòng lặp for với biến ele duyệt hết các phần tử trong list1 và truyền vào giá trị x = 4
for ele in list1:
    print(ele(4))

Kết quả trả ra:
16
64
256

Cũng với ví trên mà sử dụng hàm def, ta phải khai báo hàm def nhiều lần:
def cal1(x): return x**2
def cal2(x): return x**3
def cal3(x): return x**4
list_cal = [ cal1, cal2, cal3 ]
for ele in list_cal:
    print(ele(4))

III. Sử dụng Lambda cho Dictionary

Ví dụ 4:
Các câu lệnh:

# Khởi tạo 1 Dictionary sử dụng hàm lambda
Dict1 = {“k1”: lambda: “we”, “k2”: lambda: “love”, “k3”: lambda: “python”}
#Khai báo biến key1:
key1 = “k1”
#Truy xuất và in ra giá trị value tương ứng với key1 trong Dict1
print(Dict1[key1]())

Kết quả trả ra:
we

Ví dụ 5(Sử dụng Def):
Các câu lệnh:

# Khởi tạo 1 Dictionary sử dụng hàm def
def value1(): return “I”
def value2(): return “love”
def value3(): return “python”
Dict1 = {‘k1’: value1, ‘k2’: value2, ‘k3’: value3}
#Khai báo biến key1:
key1 = “k1”
#Truy xuất và in ra giá trị value tương ứng với key1 trong Dict1
print(Dict1[key1]())

Kết quả trả ra:
I

IV. Kết Luận

Như vậy, chúng tôi đã tiếp tục giới thiệu tới các bạn các khái niệm cơ bản của Hàm Lambda trong Python. Nếu có vấn đề nào chưa rõ, các bạn hãy liên hệ với chúng tôi để được giúp đỡ.

Trả lời

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 *