Chức năng lambda trong python là gì

Một trong những điều tuyệt vời về Python là nó nói chung là một trong những ngôn ngữ lập trình trực quan nhất hiện có. Tuy nhiên, một số khái niệm có thể khó nắm bắt và hiểu. Hàm lambda là một trong số đó

tôi đã từng ở đó. Khi tôi mới bắt đầu học Python, tôi đã bỏ qua hàm lambda vì nó không rõ ràng đối với tôi. Nhưng với thời gian, tôi bắt đầu hiểu nó. Vì vậy, đừng lo lắng – nếu bạn cũng đang phải vật lộn với nó, tôi sẽ hỗ trợ bạn

Hướng dẫn này sẽ cho bạn biết hàm lambda là gì, khi nào nên sử dụng nó và chúng ta sẽ xem xét một số trường hợp sử dụng phổ biến trong đó hàm lambda thường được áp dụng. Không cần phải quảng cáo thêm, hãy bắt đầu

Hàm Lambda là gì?

Các hàm lambda tương tự như các hàm do người dùng định nghĩa nhưng không có tên. Chúng thường được gọi là các chức năng ẩn danh

Các hàm lambda hoạt động hiệu quả bất cứ khi nào bạn muốn tạo một hàm chỉ chứa các biểu thức đơn giản – nghĩa là các biểu thức thường là một dòng của câu lệnh. Chúng cũng hữu ích khi bạn muốn sử dụng chức năng này một lần

Cách xác định hàm Lambda

Bạn có thể định nghĩa một hàm lambda như thế này

lambda argument[s] : expression
  1. def f[x]:
      return x * 2
    
    f[3]
    >> 6
    
    1 là một từ khóa trong Python để xác định hàm ẩn danh
  2. def f[x]:
      return x * 2
    
    f[3]
    >> 6
    
    2 là một trình giữ chỗ, đó là một biến sẽ được sử dụng để giữ giá trị mà bạn muốn chuyển vào biểu thức hàm. Hàm lambda có thể có nhiều biến tùy thuộc vào những gì bạn muốn đạt được
  3. def f[x]:
      return x * 2
    
    f[3]
    >> 6
    
    3 là mã bạn muốn thực thi trong hàm lambda

Lưu ý rằng hàm ẩn danh không có từ khóa trả về. Điều này là do hàm ẩn danh sẽ tự động trả về kết quả của biểu thức trong hàm sau khi nó được thực thi

Hãy xem một ví dụ về hàm lambda để xem nó hoạt động như thế nào. Chúng ta sẽ so sánh nó với một hàm thông thường do người dùng định nghĩa

Giả sử tôi muốn viết một hàm trả về gấp đôi số tôi truyền vào. Chúng ta có thể định nghĩa một hàm do người dùng định nghĩa như sau

def f[x]:
  return x * 2

f[3]
>> 6

Bây giờ cho một chức năng lambda. Chúng ta sẽ tạo nó như thế này

lambda x: x * 3

Như tôi đã giải thích ở trên, hàm lambda không có từ khóa return. Kết quả là nó sẽ tự trả về kết quả của biểu thức. Dấu x trong đó cũng đóng vai trò là trình giữ chỗ cho giá trị được chuyển vào biểu thức. Bạn có thể thay đổi nó thành bất cứ điều gì bạn muốn

Bây giờ, nếu bạn muốn gọi một hàm lambda, bạn sẽ sử dụng một phương pháp được gọi là gọi hàm ngay lập tức. Trông như thế này

[lambda x : x * 2][3]

>> 6

Lý do cho điều này là vì hàm lambda không có tên mà bạn có thể gọi [nó ẩn danh], bạn cần gửi kèm theo toàn bộ câu lệnh khi muốn gọi nó

Khi nào bạn nên sử dụng hàm Lambda?

Bạn nên sử dụng hàm lambda để tạo các biểu thức đơn giản. Ví dụ: các biểu thức không bao gồm các cấu trúc phức tạp như if-else, for-loops, v.v.

Vì vậy, ví dụ, nếu bạn muốn tạo một hàm với vòng lặp for, bạn nên sử dụng hàm do người dùng định nghĩa

Các trường hợp sử dụng phổ biến cho Hàm Lambda

Cách sử dụng Hàm Lambda với Iterables

Một iterable về cơ bản là bất cứ thứ gì bao gồm một loạt các giá trị, chẳng hạn như ký tự, số, v.v.

Trong Python, iterables bao gồm chuỗi, danh sách, từ điển, phạm vi, bộ dữ liệu, v.v. Khi làm việc với iterables, bạn có thể sử dụng hàm lambda kết hợp với hai hàm phổ biến.

def f[x]:
  return x * 2

f[3]
>> 6
4 và
def f[x]:
  return x * 2

f[3]
>> 6
5

def f[x]:
  return x * 2

f[3]
>> 6
6

Khi bạn muốn tập trung vào các giá trị cụ thể trong một lần lặp, bạn có thể sử dụng chức năng bộ lọc. Sau đây là cú pháp của hàm lọc

def f[x]:
  return x * 2

f[3]
>> 6
0

Như bạn có thể thấy, một hàm lọc yêu cầu một hàm khác chứa biểu thức hoặc các thao tác sẽ được thực hiện trên hàm lặp

Ví dụ: giả sử tôi có một danh sách chẳng hạn như

def f[x]:
  return x * 2

f[3]
>> 6
7. Bây giờ, giả sử rằng tôi chỉ quan tâm đến những giá trị trong danh sách có số dư bằng 0 khi chia cho 2. Tôi có thể sử dụng
def f[x]:
  return x * 2

f[3]
>> 6
4 và hàm lambda

Đầu tiên tôi sẽ sử dụng hàm lambda để tạo biểu thức mà tôi muốn dẫn xuất như thế này

def f[x]:
  return x * 2

f[3]
>> 6
3

Sau đó, tôi sẽ chèn nó vào chức năng lọc như thế này

def f[x]:
  return x * 2

f[3]
>> 6
4

def f[x]:
  return x * 2

f[3]
>> 6
9

Bạn sử dụng hàm

def f[x]:
  return x * 2

f[3]
>> 6
5 bất cứ khi nào bạn muốn sửa đổi mọi giá trị trong một lần lặp

def f[x]:
  return x * 2

f[3]
>> 6
7

Ví dụ: giả sử tôi muốn nâng tất cả các giá trị trong danh sách bên dưới lên lũy thừa 2. Tôi có thể dễ dàng làm điều đó bằng cách sử dụng các hàm lambda và bản đồ như thế này

def f[x]:
  return x * 2

f[3]
>> 6
8

Dòng gấu trúc

Một nơi khác bạn sẽ sử dụng hàm lambda là trong khoa học dữ liệu khi tạo khung dữ liệu từ Pandas. Một chuỗi là một cột khung dữ liệu. Bạn có thể thao tác tất cả các giá trị trong một chuỗi bằng cách sử dụng hàm lambda

Ví dụ: nếu tôi có khung dữ liệu với các cột sau và muốn chuyển đổi các giá trị trong cột tên thành chữ thường, tôi có thể thực hiện bằng cách sử dụng hàm áp dụng Pandas và hàm lambda Python như thế này

def f[x]:
  return x * 2

f[3]
>> 6
9
def f[x]:
  return x * 2

f[3]
>> 6
0

Hàm áp dụng sẽ áp dụng từng phần tử của chuỗi cho hàm lambda. Sau đó, hàm lambda sẽ trả về một giá trị cho từng phần tử dựa trên biểu thức bạn đã truyền cho nó. Trong trường hợp của chúng tôi, biểu thức là viết thường từng phần tử

Sự kết luận

Trong hướng dẫn này, bạn đã tìm hiểu kiến ​​thức cơ bản về hàm lambda và cách bạn có thể áp dụng hàm này một cách phổ biến. Cảm ơn bạn đã dành thời gian của bạn để đọc này

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Ibrahim Abayomi Ogunbiyi

Tôi là một nhà khoa học dữ liệu nhiệt tình, thích phá vỡ và sửa chữa những thứ liên quan đến dữ liệu, đồng thời quan tâm đến dữ liệu một cách rõ ràng để cung cấp cho tôi thông tin chi tiết về những gì nó đang miêu tả

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có việc làm với tư cách là nhà phát triển. Bắt đầu

Việc sử dụng hàm lambda trong Python là gì?

Hàm Lambda Python là hàm ẩn danh 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 để xác định hàm ẩn danh trong Python .

chức năng lambda giải thích với ví dụ là gì?

Hàm lambda là một hàm ẩn danh nhỏ . Hàm lambda có thể nhận bất kỳ số lượng đối số nào, nhưng chỉ có thể có một biểu thức.

Lợi ích của lambda trong Python là gì?

Từ khóa lambda trong Python cung cấp lối tắt để khai báo các hàm ẩn danh nhỏ . Các hàm lambda hoạt động giống như các hàm thông thường được khai báo bằng từ khóa def. Chúng có thể được sử dụng bất cứ khi nào các đối tượng chức năng được yêu cầu.

Hàm lambda[] được gọi như thế nào?

Hàm Lambda, còn được gọi là ' Hàm ẩn danh ' giống như một hàm python thông thường nhưng có thể được định nghĩa mà không cần tên. Trong khi các chức năng thông thường được xác định bằng từ khóa def, thì các chức năng ẩn danh được xác định bằng từ khóa lambda. Tuy nhiên, chúng bị giới hạn trong một dòng biểu thức.

Chủ Đề