Làm thế nào để có được kích thước của cửa sổ PyGame?
Trong bài viết này, chúng ta sẽ tìm hiểu Cách lấy kích thước của Cửa sổ PyGame...
Category: Python
Hàm Lambda Python là hàm ẩn danh có nghĩa là hàm không có tên. Như chúng ta đã biết, từ khóa def được sử dụng để định nghĩa một hàm bình thường trong Python. Tương tự, từ khóa lambda được sử dụng để định nghĩa một hàm ẩn danh trong Python .
Trong ví dụ này, chúng tôi đã định nghĩa hàm lambda( upper ) để chuyển đổi một chuỗi thành chữ hoa bằng cách sử dụng upper() .
s1 = 'GeeksforGeeks'
s2 = lambda func: func.upper()
print(s2(s1))
Đầu ra
GEEKSFORGEEKS
Mã này định nghĩa một hàm lambda có tên s2 lấy một chuỗi làm đối số và chuyển đổi thành chữ hoa bằng phương thức. Sau đó, nó áp dụng hàm lambda này cho chuỗi 'GeeksforGeeks' và in kết quả.supper()
Hãy cùng khám phá hàm Lambda một cách chi tiết:
lambda: Từ khóa để xác định hàm.
đối số: Danh sách các tham số đầu vào được phân tách bằng dấu phẩy (giống như trong một hàm thông thường).
biểu thức: Một biểu thức duy nhất được đánh giá và trả về.
Chúng ta hãy cùng xem một số ứng dụng thực tế của hàm lambda trong Python.
Hàm lambda có thể bao gồm các điều kiện bằng cách sử dụng câu lệnh if.
Ví dụ:
# ví dụ: Kiểm tra xem một số là dương , âm hay là không
n = lambda x: "Positive" if x > 0 else "Negative" if x < 0 else "Zero"
print(n(5))
print(n(-3))
print(n(0))
Đầu ra:
Positive
Negative
Zero
Giải thích:
Hàm lambda lấy x làm đầu vào.
Nó sử dụng các câu lệnh if-else lồng nhau để trả về "Dương", "Âm" hoặc "Không".
lambda ngắn gọn nhưng kém mạnh hơn def khi xử lý logic phức tạp. Chúng ta hãy xem xét so sánh ngắn gọn giữa hai hàm:
Tính năng | lambda Chức năng | Hàm thường xuyên ( def) |
---|---|---|
Sự định nghĩa | Biểu thức đơn với lambda . | Nhiều dòng mã. |
Tên | Ẩn danh (hoặc nêu tên nếu được chỉ định). | Phải có tên. |
Các tuyên bố | Chỉ có một biểu hiện duy nhất. | Có thể bao gồm nhiều câu lệnh. |
Tài liệu | Không thể có docstring. | Có thể bao gồm chuỗi tài liệu. |
Khả năng tái sử dụng | Phù hợp nhất cho các chức năng ngắn hạn, tạm thời. | Tốt hơn cho logic phức tạp và có thể tái sử dụng. |
Ví dụ:
# sử dụng lambda
sq = lambda x: x ** 2
print(sq(3))
# sử dụng def
def sqdef(x):
return x ** 2
print(sqdef(3))
Đầu ra
9
9
Như chúng ta có thể thấy trong ví dụ trên, cả hàm sq() và hàm sqdef() đều hoạt động giống nhau và đúng như mong đợi.
Kết hợp lambda với danh sách cho phép chúng ta áp dụng các phép chuyển đổi vào dữ liệu theo cách ngắn gọn.
Ví dụ:
li = [lambda arg=x: arg * 10 for x in range(1, 5)]
for i in li:
print(i())
Đầu ra:
10
20
30
40
Giải thích:
Hàm lambda bình phương từng phần tử.
Danh sách hiểu lặp qua li và áp dụng lambda cho từng phần tử.
Điều này lý tưởng để áp dụng các phép biến đổi vào tập dữ liệu trong các tác vụ xử lý hoặc thao tác dữ liệu trước.
Các hàm lambda có thể kết hợp trực tiếp logic có điều kiện, cho phép chúng ta xử lý việc ra quyết định đơn giản trong hàm.
Ví dụ:
# VÍ dụ: kiểm tra xem một số là chẵn hay lẻ
check = lambda x: "Even" if x % 2 == 0 else "Odd"
print(check(4))
print(check(7))
Đầu ra:
Even
Odd
Giải thích:
Lambda kiểm tra xem một số có chia hết cho 2 hay không (x % 2 == 0).
Trả về "Even" nếu đúng và "Odd" nếu không.
Cách tiếp cận này hữu ích cho việc dán nhãn hoặc phân loại giá trị dựa trên các điều kiện đơn giản.
Hàm lambda không cho phép nhiều câu lệnh, tuy nhiên, chúng ta có thể tạo hai hàm lambda rồi gọi hàm lambda kia làm tham số cho hàm đầu tiên.
Ví dụ:
#ví dụ: thực hiện phép cộng và phép nhân trên một dòng
calc = lambda x, y: (x + y, x * y)
res = calc(3, 4)
print(res)
Đầu ra:
(7, 12)
Giải thích:
Hàm lambda thực hiện cả phép cộng và phép nhân và trả về một bộ kết quả gồm cả hai phép cộng và nhân.
Điều này hữu ích cho những trường hợp cần thực hiện nhiều phép tính và trả về cùng lúc.
Các hàm Lambda có thể được sử dụng cùng với các hàm tích hợp như filter() , map() và reduce() .
Hàm filter() trong Python lấy một hàm và một danh sách làm đối số. Hàm này cung cấp một cách tinh tế để lọc ra tất cả các phần tử của một chuỗi "sequence", mà hàm trả về True.
Ví dụ:
# Ví dụ: Lọc một số chẵn từ danh sách
n = [1, 2, 3, 4, 5, 6]
even = filter(lambda x: x % 2 == 0, n)
print(list(even))
Đầu ra:
[2, 4, 6]
Giải thích:
Hàm lambda kiểm tra xem một số có phải là số chẵn hay không (x % 2 == 0).
filter() áp dụng điều kiện này cho từng phần tử trong nums.
Hàm map() trong Python lấy một hàm và một danh sách làm đối số. Hàm được gọi bằng hàm lambda và một danh sách mới được trả về, trong đó chứa tất cả các mục đã sửa đổi lambda được hàm đó trả về cho mỗi mục.
Ví dụ:
# ví dụ: nhân đôi mỗi số trong danh sách
a = [1, 2, 3, 4]
b = map(lambda x: x * 2, a)
print(list(b))
Đầu ra:
[2, 4, 6, 8]
Giải thích:
Hàm lambda nhân đôi mỗi số.
map() lặp qua a và áp dụng phép biến đổi.
Hàm reduce() trong Python lấy một hàm và một danh sách làm đối số. Hàm được gọi bằng một hàm lambda và một iterable và một kết quả rút gọn mới được trả về. Thao tác này thực hiện một hoạt động lặp lại trên các cặp iterable. Hàm reduce() thuộc về mô-đun functools .
Ví dụ:
from functools import reduce
# Ví dụ: tìm tích của tất cả số trong danh sách
a = [1, 2, 3, 4]
b = reduce(lambda x, y: x * y, a)
print(b)
Đầu ra
24
Giải thích:
Lambda nhân hai số cùng một lúc.
reduce() áp dụng thao tác này trên toàn bộ danh sách.
Published on Jun 17, 2025
Trong bài viết này, chúng ta sẽ tìm hiểu Cách lấy kích thước của Cửa sổ PyGame . Lập trình game ngày nay rất bổ ích và có thể được sử dụng trong...
Giao diện người dùng đồ họa ( GUI ) đóng vai trò then chốt trong việc nâng cao tương tác và trải nghiệm của người dùng. Python, được biết đến với....
Python Module là một tệp chứa các hàm, lớp, its và biến tích hợp. Có nhiều module Python , mỗi module có chức năng riêng. Trong bài viết nà...
Python MySQL Connector là trình điều khiển Python giúp tích hợp Python và MySQL. Thư viện Python MySQL này cho phép chuyển đổi giữa các kiểu dữ liệu...
MongoDB là một cơ sở dữ liệu NoSQL phổ biến được thiết kế để lưu trữ và quản lý dữ liệu một cách linh hoạt và có quy mô. Không giống như các cơ sở...
Quản lý thư mục Python đề cập đến việc xử lý và tương tác với các thư mục (folder) trên hệ thống tệp bằng Python. Nó bao gồm việc tạo, xóa, điều hướng...