Chào mừng trở lại.
Hãy nói về điều gì đó mà tôi thực sự, thực sự yêu thích, và nó được gọi là Lambda Expressions.
Và Lambda thực sự là một thuật ngữ khoa học máy tính thực sự tương thích với ý tưởng lập trình chức năng
này.
Bạn thấy đấy, biểu thức lambda trong Python là các hàm ẩn danh một lần mà bạn không cần nhiều
lần.
Điều đó nghĩa là gì?
Chà, các biểu thức lambda thực sự rất hữu ích khi bạn đang sử dụng chúng cho các hàm mà bạn chỉ sử
dụng một lần.
Hãy nhớ rằng chúng ta đã nói về các hàm hữu ích như thế nào vì chúng ta có thể định nghĩa chúng và sau đó
sử dụng các hàm này lặp đi lặp lại và do đó tiết kiệm cho chúng ta khỏi việc sao chép và dán mã.
Chà, các hàm lambda dành cho những trường hợp chúng ta có một hàm, nhưng chúng ta chỉ cần sử dụng nó
một lần.
Và sau đó phần thứ hai là chúng là các chức năng ẩn danh.
Đó là bởi vì chúng tôi chỉ sử dụng chúng một lần.
Chúng ta không cần đặt tên cho chúng bởi vì ý tôi là, chúng ta không thực sự cần lưu trữ chúng ở bất kỳ đâu trên
máy của mình.
Tôi chỉ muốn sử dụng nó một lần.
Chỉ cần chạy nó và sau đó tôi hoàn tất.
Chỉ cần vứt nó đi.
Vậy hàm lambda trông như thế nào?
Một hàm lambda trông như thế này.
Chúng tôi nói lambda trong python.
Hãy để tôi thêm một chút không gian ở đây để chúng ta có thể xem.
Chúng tôi nói Lambda và bạn có thể thấy rằng nó được đánh dấu màu xanh lam.
Và sau đó tôi sẽ nói một tham số mà hàm này sẽ nhận được, sau đó là dấu hai chấm và sau đó là
một số loại hàm ở đây.
Và tham số.
Hoặc thay vì chức năng, nó sẽ là một loại thao tác nào đó mà chúng tôi thực hiện.
Vì vậy, hãy nói hành động mà chúng tôi muốn thực hiện.
Trên một tham số.
Được rồi, điều này vẫn có vẻ khó hiểu, vì vậy hãy thực sự cố gắng triển khai nó trong các hàm mà chúng
tôi đã tạo.
Vì vậy, giả sử nhân với hai là một trong những thứ mà chúng ta sẽ chỉ sử dụng một lần.
Tôi chỉ muốn nhân với hai.
Đó là danh sách của tôi và sau đó tôi hoàn thành nó.
Tôi không cần phải lưu nó vào bộ nhớ.
Nó chỉ là một đoạn mã bổ sung.
Tôi không cần cái này.
Làm thế nào chúng ta có thể làm điều đó?
Giả sử chúng ta có chức năng bản đồ ở đây và hãy chuyển nó thành một danh sách.
Và bây giờ tôi sẽ giảm thiểu những điều này.
Vì vậy, chúng tôi chỉ tập trung vào nhân với hai.
Và ở đây chúng ta hãy quay lại nhân với hai.
Hãy nhớ rằng chúng ta đã có nó như thế nào trước đây.
Danh sách của tôi và chúng tôi không cần tham số thứ ba giống như vậy.
Bây giờ với một hàm lambda, tôi có thể nói, Này, tôi không cần tạo một hàm hoàn toàn mới, tôi sẽ chỉ
sử dụng nó một lần.
Hãy loại bỏ hoàn toàn điều này.
Và thay vì sử dụng nhân với hai, tôi sẽ nói lambda.
Và ở đây tôi sẽ cung cấp cho nó tham số.
Tôi sẽ nhận được tham số nào?
Chà, tôi sẽ nhận được một món đồ trong danh sách của mình.
Và tại đây, chúng ta muốn làm gì với danh sách của mình?
Tôi muốn nhân nó với hai.
Được rồi.
Điều này có thể hoạt động?
Hãy thử đi.
Tôi sẽ chạy.
Ái chà.
Bạn có thấy điều đó không?
Tôi thậm chí đã không sử dụng nhân với hai.
Thực tế là, tôi có thể xóa nó đi.
Và nếu tôi nhấp vào Chạy, mọi thứ vẫn hoạt động.
Hiện nay.
Tại sao thế này?
Hãy nhớ rằng, các biểu thức Lambda là một hàm ẩn danh một thời gian.
Không có tên nào được đính kèm với chức năng này.
Đây là chức năng ngay tại đây.
Điều đó bạn không cần phải chạy nhiều hơn một lần.
Vì vậy, một khi trình thông dịch chạy dòng mã này, nó sẽ không nhớ điều này.
Nó chỉ quên về nó.
Nhưng nó thực hiện hành động cho chúng ta.
Trong trường hợp của chúng tôi, chúng tôi đang nói, Này, tôi muốn tạo một biểu thức lambda.
Tôi sẽ lấy một mục từ danh sách của tôi.
Và sau đó tôi sẽ nhân mục đó lên hai lần và điều này sẽ tự động trả về một lần nữa.
Thứ tự mà chúng tôi làm là lambda sau đó.
Chúng tôi đưa cho nó chiếc xe đẩy, Colin, và sau đó là hành động mà chúng tôi muốn thực hiện.
Trong trường hợp của chúng tôi, nó sẽ là pram.
Và bất cứ hành động nào chúng ta muốn làm.
Giống.
Vì vậy, trong trường hợp của chúng tôi, mục nhân hai lần và điều này tự động trả về.
Làm thế nào là mát đó là?
Đây là một tính năng thực sự hay của Python để giữ cho mã của bạn thực sự đẹp và sạch sẽ và không lộn xộn với tất
cả các chức năng này.
Và các ngôn ngữ khác có thể không có lambdas, nhưng chúng đôi khi được gọi là các hàm ẩn danh.
Một lần nữa, chúng tôi đã thảo luận về lý do tại sao chúng ẩn danh.
Chúng giống như các chức năng bình thường và thậm chí hoạt động giống như chúng.
Nhưng chúng tôi chỉ sử dụng chúng một lần và chúng không có tên.
Nhưng bạn có thể thấy ở đây rằng nó làm cho mọi thứ sạch sẽ hơn một chút.
Điều gì sẽ xảy ra nếu chúng ta cố gắng thực hiện bộ lọc ngay bây giờ với một hàm lambda?
Nếu muốn, bạn có thể tạm dừng video và tự thử.
Nhưng nó sẽ khá dễ dàng, phải không?
Nếu tôi làm bộ lọc.
Tôi có thể làm được, Lambda.
Mục và sau đó là mục.
Chúng tôi sẽ chỉ sao chép cái này.
Vì vậy, hành động mà chúng tôi muốn thực hiện đối với mặt hàng là thế này.
Và nếu tôi chạy nó.
Lại.
Nó hoạt động.
Làm thế nào tốt là điều đó?
Không còn cần chức năng này nữa.
Rất rất tốt.
Còn giảm thì sao?
Chúng tôi có thể sử dụng giảm với lambda?
Chắc chắn rồi.
Tại sao không?
Hãy nói ở đây, chúng ta sẽ nói giảm.
Chúng tôi sẽ xóa danh sách khỏi đây vì chúng tôi chỉ tạo ra một giá trị duy nhất.
Tôi sẽ nói Lambda.
Mục ghi nhớ giảm chấp nhận các tham số của bộ tích lũy và sau đó là mục.
Vì vậy, tôi chỉ có thể cung cấp cho nó hai tham số như thế này và sau đó nói, chúng ta muốn làm gì?
Chà, tôi chỉ muốn thêm bộ tích lũy với vật phẩm.
Vì vậy, nếu tôi thực hiện danh sách của mình ở đây như thế này và tôi nhấp vào Chạy.
Kiểm tra đó ra.
Điều đó cũng hoạt động.
Làm thế nào là mát đó là?
Một lần nữa, chúng tôi không còn cần bộ tích lũy nữa và bây giờ chúng tôi chỉ có một hàm dòng mà tôi
có thể chạy và thu gọn danh sách ngay lập tức.
Rất, rất tuyệt.
Chúng ta sẽ khám phá lambdas nhiều hơn một chút, đặc biệt là trong phần hiểu của khóa
học.
Vì vậy, nếu bạn vẫn chưa hiểu 100% về chúng, đừng lo lắng, chúng tôi sẽ có nhiều trường hợp sử dụng hơn và lý do tại sao chúng hữu
ích sau này trong khóa học.
Nhưng tôi thực sự rất thích biểu thức lambda làm cho mã của bạn thực sự, rất nhỏ.
Tuy nhiên, chúng làm cho mã khó đọc hơn một chút.
Vì vậy, đó là một sự đánh đổi khi bạn có thể thực sự thông minh với các biểu thức lambda nhưng làm cho mã của bạn thực sự khó
hiểu với người khác.
Vì vậy, bạn muốn cẩn thận.
Còn bây giờ, chúng ta đã hoàn tất.
Hẹn gặp lại các bạn trong video tiếp theo.
Tạm biệt.