Hướng dẫn lambda with 2 arguments python - lambda với 2 đối số python

Sau khi đọc mọi thứ tôi có thể tìm thấy trên Lambda, tôi vẫn không hiểu làm thế nào để làm cho nó làm những gì tôi muốn.

Mọi người đều sử dụng ví dụ:

lambda x, y : x + y

Tại sao bạn cần nêu cả

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
6 và
self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
7 trước
self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
8? Ngoài ra, làm thế nào để bạn làm cho nó trả về nhiều đối số?

Ví dụ:

self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))

Điều này hoạt động tốt. Nhưng mã sau không:

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))

Nó mang lại lỗi:

TypeError: () không có đối số (1 đã cho)

Hỏi ngày 27 tháng 4 năm 2012 lúc 5:35Apr 27, 2012 at 5:35

Hướng dẫn lambda with 2 arguments python - lambda với 2 đối số python

Tại sao bạn cần nêu cả 'x' và 'y' trước ':'?

Bởi vì một lambda là (về mặt khái niệm) giống như một hàm, chỉ được viết nội tuyến. Ví dụ của bạn tương đương với

def f(x, y) : return x + y

Chỉ cần không ràng buộc nó với một cái tên như

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
9.

Ngoài ra, làm thế nào để bạn làm cho nó trả về nhiều đối số?

Giống như cách như với một chức năng. Tốt nhất, bạn trả lại một tuple:

lambda x, y: (x+y, x-y)

Hoặc một danh sách, hoặc một lớp học, hoặc bất cứ điều gì.

Điều với

def f(x, y) : return x + y
0 nên được Demosthenex trả lời.

Đã trả lời ngày 27 tháng 4 năm 2012 lúc 5:43Apr 27, 2012 at 5:43

Hướng dẫn lambda with 2 arguments python - lambda với 2 đối số python

PhipSgablerPhipsgablerphipsgabler

Huy hiệu vàng 19,6K44 gold badges40 silver badges56 bronze badges

4

Tôi tin rằng Bind luôn cố gắng gửi một tham số sự kiện. Thử:

self.entry_1.bind("<Return>", lambda event: self.calculate(self.buttonOut_1.grid_info(), 1))

Bạn chấp nhận tham số và không bao giờ sử dụng nó.

Đã trả lời ngày 27 tháng 4 năm 2012 lúc 5:38Apr 27, 2012 at 5:38

DemosthenexdemosthenexDemosthenex

4.2652 Huy hiệu vàng25 Huy hiệu bạc22 Huy hiệu đồng2 gold badges25 silver badges22 bronze badges

1

Tại sao bạn cần nêu cả

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
6 và
self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
7 trước
self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
8?

Bởi vì đó là một định nghĩa chức năng và nó cần biết những tham số nào mà hàm chấp nhận và theo thứ tự nào. Nó không thể nhìn vào biểu thức và sử dụng các tên biến trong đó, bởi vì một số tên mà bạn có thể muốn sử dụng các giá trị biến cục bộ hoặc toàn cầu hiện có và ngay cả khi nó đã làm điều đó, nó sẽ không biết thứ tự nào nên mong đợi để có được chúng.

Thông báo lỗi của bạn có nghĩa là TK đang gọi Lambda của bạn bằng một đối số, trong khi Lambda của bạn được viết để không chấp nhận đối số. Nếu bạn không cần đối số, chỉ cần chấp nhận một và không sử dụng nó. (Demosthenex có mã, tôi đã đăng nó nhưng đã bị đánh bại.)

Đã trả lời ngày 27 tháng 4 năm 2012 lúc 5:43Apr 27, 2012 at 5:43

PhipSgablerPhipsgablerkindall

Huy hiệu vàng 19,6K434 gold badges268 silver badges300 bronze badges

0

Tại sao bạn cần nêu cả 'x' và 'y' trước ':'?

Bởi vì một lambda là (về mặt khái niệm) giống như một hàm, chỉ được viết nội tuyến. Ví dụ của bạn tương đương với

>>> flist = []
>>> for i in range(3):
...     flist.append(lambda : i)

Chỉ cần không ràng buộc nó với một cái tên như

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
9.

>>> flist[0]()
2
>>> flist[2]()
2
>>>

Ngoài ra, làm thế nào để bạn làm cho nó trả về nhiều đối số?

Giống như cách như với một chức năng. Tốt nhất, bạn trả lại một tuple:Apr 17, 2014 at 22:36

Hướng dẫn lambda with 2 arguments python - lambda với 2 đối số python

Chức năng Lambda trong Python là gì?

Hàm Lambda trong lập trình Python là một hàm ẩn danh hoặc một hàm không có tên. Đó là một chức năng nhỏ và bị hạn chế không có nhiều hơn một dòng. Giống như một hàm bình thường, hàm lambda có thể có nhiều đối số với một biểu thức.Lambda Function in Python programming is an anonymous function or a function having no name. It is a small and restricted function having no more than one line. Just like a normal function, a Lambda function can have multiple arguments with one expression.

Trong Python, các biểu thức lambda (hoặc các dạng lambda) được sử dụng để xây dựng các hàm ẩn danh. Để làm như vậy, bạn sẽ sử dụng từ khóa Lambda (giống như bạn sử dụng def để xác định các hàm bình thường). Mỗi chức năng ẩn danh bạn xác định trong Python sẽ có 3 phần thiết yếu:lambda keyword (just as you use def to define normal functions). Every anonymous function you define in Python will have 3 essential parts:

  • Từ khóa Lambda.
  • Các tham số (hoặc các biến ràng buộc) và
  • Các chức năng cơ thể.

Hàm Lambda có thể có bất kỳ số lượng tham số nào, nhưng cơ thể hàm chỉ có thể chứa một biểu thức. Hơn nữa, một lambda được viết trong một dòng mã duy nhất và cũng có thể được gọi ngay lập tức. Bạn sẽ thấy tất cả những điều này trong hành động trong các ví dụ sắp tới.one expression. Moreover, a lambda is written in a single line of code and can also be invoked immediately. You will see all this in action in the upcoming examples.

Trong Lambda trong hướng dẫn Python này, bạn sẽ học được:

  • Cú pháp và ví dụ
  • Sử dụng lambdas với python xây dựng
  • Lambdas trong bộ lọc ()
  • Lambdas trong bản đồ ()
  • Lambdas trong giảm ()
  • Tại sao (và tại sao không) sử dụng các hàm Lambda?
  • Lambdas so với các chức năng thông thường

Cú pháp và ví dụ

Sử dụng lambdas với python xây dựng

lambda p1, p2: expression

Lambdas trong bộ lọc ()

Lambdas trong bản đồ ()

Lambdas trong giảm ()

Tại sao (và tại sao không) sử dụng các hàm Lambda?

adder = lambda x, y: x + y
print (adder (1, 2))

Lambdas so với các chức năng thông thường

self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
0

Cú pháp chính thức để viết hàm lambda được đưa ra dưới đây:

Ở đây, P1 và P2 là các tham số được truyền đến hàm Lambda. Bạn có thể thêm nhiều hoặc một vài tham số như bạn cần.

Tuy nhiên, lưu ý rằng chúng tôi không sử dụng dấu ngoặc xung quanh các tham số như chúng tôi làm với các chức năng thông thường. Phần cuối cùng (biểu thức) là bất kỳ biểu thức python hợp lệ nào hoạt động trên các tham số bạn cung cấp cho hàm. The lambda keyword used to define an anonymous function.

ví dụ 1 x and y are the parameters that we pass to the lambda function.

Bây giờ bạn đã biết về Lambdas, hãy thử nó với một ví dụ. Vì vậy, hãy mở IDLE của bạn và nhập các mục sau: This is the body of the function, which adds the 2 parameters we passed. Notice that it is a single expression. You cannot write multiple statements in the body of a lambda function.

Đây là đầu ra: We call the function and print the returned value.

Giải thích mã

Ở đây, chúng tôi xác định một biến sẽ giữ kết quả được trả về bởi hàm Lambda.

self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
1

1. Từ khóa Lambda được sử dụng để xác định hàm ẩn danh.

Output:

self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
2

2. X và Y là các tham số mà chúng ta chuyển đến hàm Lambda.

Cú pháp chính thức để viết hàm lambda được đưa ra dưới đây:

  1. Ở đây, P1 và P2 là các tham số được truyền đến hàm Lambda. Bạn có thể thêm nhiều hoặc một vài tham số như bạn cần.
  2. Tuy nhiên, lưu ý rằng chúng tôi không sử dụng dấu ngoặc xung quanh các tham số như chúng tôi làm với các chức năng thông thường. Phần cuối cùng (biểu thức) là bất kỳ biểu thức python hợp lệ nào hoạt động trên các tham số bạn cung cấp cho hàm.

ví dụ 1called by the print function but simply returning the function object and the memory location where it is stored. That’s what gets printed at the console.

Bây giờ bạn đã biết về Lambdas, hãy thử nó với một ví dụ. Vì vậy, hãy mở IDLE của bạn và nhập các mục sau:

Đây là đầu ra:

Giải thích mã

Ở đây, chúng tôi xác định một biến sẽ giữ kết quả được trả về bởi hàm Lambda.

Output:

self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
4

1. Từ khóa Lambda được sử dụng để xác định hàm ẩn danh.

Giải thích mã

  1. Đây là cùng một chuỗi chúng tôi đã xác định trong ví dụ trước.
  2. Trong phần này, chúng tôi đang xác định một lambda và gọi nó ngay lập tức bằng cách truyền chuỗi làm đối số. Đây là một cái gì đó gọi là iife và bạn sẽ tìm hiểu thêm về nó trong các phần sắp tới của hướng dẫn này.

Ví dụ 4

Hãy cùng xem xét một ví dụ cuối cùng để hiểu làm thế nào Lambdas và các chức năng thông thường được thực hiện. Vì vậy, hãy mở IDLE của bạn và trong một tệp mới, hãy nhập các tệp sau:

self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
5

Bây giờ, lưu tệp và nhấn F5 để chạy chương trình. Nếu bạn đã không phạm bất kỳ sai lầm nào, đầu ra sẽ là một cái gì đó như thế này.

Output:

Máy in 1 cuộc gọi thường xuyên

Máy in 2 cuộc gọi thường xuyên

Máy in 1 cuộc gọi Lambda

Máy in 2 cuộc gọi Lambda

Giải thích mã

  1. Một chức năng gọi là guru lấy một hàm khác là tham số đầu tiên và bất kỳ đối số nào khác theo nó.
  2. Máy in là một hàm đơn giản in tham số được truyền cho nó và trả về nó.
  3. Máy in_two tương tự như in máy in_one nhưng không có câu lệnh trả về.
  4. Trong phần này, chúng tôi đang gọi hàm guru và truyền các hàm máy in và một chuỗi là tham số.
  5. Đây là cú pháp để đạt được bước thứ tư (nghĩa là, gọi hàm guru) nhưng sử dụng lambdas.

Trong phần tiếp theo, bạn sẽ tìm hiểu cách sử dụng các hàm Lambda với MAP (), Giảm () và Filter () trong Python.map(), reduce(), and filter() in Python.

Sử dụng lambdas với python xây dựng

Các chức năng Lambda cung cấp một cách thanh lịch và mạnh mẽ để thực hiện các hoạt động bằng cách sử dụng các phương thức tích hợp trong Python. Có thể bởi vì Lambdas có thể được gọi ngay lập tức và được thông qua như một lập luận cho các chức năng này.

Iife ở Python Lambda

Iife là viết tắt của việc thực hiện chức năng ngay lập tức. Nó có nghĩa là một hàm Lambda có thể gọi được ngay khi nó được xác định. Hãy để hiểu điều này với một ví dụ; kích hoạt Idle của bạn và gõ vào sau: stands for immediately invoked function execution. It means that a lambda function is callable as soon as it is defined. Let’s understand this with an example; fire up your IDLE and type in the following:

self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
6

Đây là giải thích đầu ra và mã:

Khả năng của lambdas này được gọi ngay lập tức cho phép bạn sử dụng chúng bên trong các hàm như map () và giảm (). Nó rất hữu ích vì bạn có thể không muốn sử dụng các chức năng này một lần nữa.

Lambdas trong bộ lọc ()

Hàm bộ lọc được sử dụng để chọn một số phần tử cụ thể từ một chuỗi các phần tử. Trình tự có thể là bất kỳ trình lặp như danh sách, bộ, bộ dữ liệu, v.v.

Các yếu tố sẽ được chọn dựa trên một số ràng buộc được xác định trước. Phải mất 2 tham số:

  • Một chức năng xác định ràng buộc lọc
  • Một chuỗi (bất kỳ trình lặp như danh sách, bộ dữ liệu, v.v.)

Ví dụ,

self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
7

Ở đây, đầu ra:

self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
8

Giải thích mã:

1. Trong câu lệnh đầu tiên, chúng tôi xác định một danh sách được gọi là các chuỗi chứa một số số. In the first statement, we define a list called sequences which contains some numbers.

2. Ở đây, chúng tôi khai báo một biến có tên là Filtered_result, sẽ lưu trữ các giá trị được lọc được trả về bởi hàm Filter (). Here, we declare a variable called filtered_result, which will store the filtered values returned by the filter() function.

3. Hàm Lambda chạy trên từng yếu tố của danh sách và trả về true nếu nó lớn hơn 4. A lambda function which runs on each element of the list and returns true if it is greater than 4.

4. In kết quả được trả về bởi chức năng bộ lọc.Print the result returned by the filter function.

Lambdas trong bản đồ ()

Hàm bản đồ được sử dụng để áp dụng một hoạt động cụ thể cho mọi phần tử theo một chuỗi. Giống như Filter (), nó cũng mất 2 tham số:

  1. Một hàm xác định OP để thực hiện trên các phần tử
  2. Một hoặc nhiều chuỗi

Ví dụ: đây là một chương trình in hình vuông của các số trong một danh sách nhất định:

self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
9

Output:

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
0

[KR1]

Giải thích mã:

  1. 1. Trong câu lệnh đầu tiên, chúng tôi xác định một danh sách được gọi là các chuỗi chứa một số số.
  2. 2. Ở đây, chúng tôi khai báo một biến có tên là Filtered_result, sẽ lưu trữ các giá trị được lọc được trả về bởi hàm Filter ().
  3. 3. Hàm Lambda chạy trên từng yếu tố của danh sách và trả về true nếu nó lớn hơn 4.
  4. 4. In kết quả được trả về bởi chức năng bộ lọc.

Lambdas trong bản đồ ()

Hàm bản đồ được sử dụng để áp dụng một hoạt động cụ thể cho mọi phần tử theo một chuỗi. Giống như Filter (), nó cũng mất 2 tham số:

Một hàm xác định OP để thực hiện trên các phần tửPerform the defined operation on the first 2 elements of the sequence.

Một hoặc nhiều chuỗiSave this result

Ví dụ: đây là một chương trình in hình vuông của các số trong một danh sách nhất định:Perform the operation with the saved result and the next element in the sequence.

Ở đây, chúng tôi xác định một danh sách được gọi là chuỗi chứa một số số.Repeat until no more elements are left.

Chúng tôi khai báo một biến có tên là Filtered_Result sẽ lưu trữ các giá trị được ánh xạ

  1. Một hàm Lambda chạy trên mỗi phần tử của danh sách và trả về bình phương của số đó.
  2. Một chuỗi (bất kỳ trình lặp như danh sách, bộ dữ liệu, v.v.)

Ví dụ,

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
1

Ở đây, đầu ra:

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
2

Giải thích mã:

  1. 1. Trong câu lệnh đầu tiên, chúng tôi xác định một danh sách được gọi là các chuỗi chứa một số số.
  2. 1. Trong câu lệnh đầu tiên, chúng tôi xác định một danh sách được gọi là các chuỗi chứa một số số.
  3. 2. Ở đây, chúng tôi khai báo một biến có tên là Filtered_result, sẽ lưu trữ các giá trị được lọc được trả về bởi hàm Filter ().
  4. 3. Hàm Lambda chạy trên từng yếu tố của danh sách và trả về true nếu nó lớn hơn 4.
  5. 4. In kết quả được trả về bởi chức năng bộ lọc.

Tại sao (và tại sao không) sử dụng các hàm Lambda?

Như bạn sẽ thấy trong phần tiếp theo, Lambdas được đối xử giống như các chức năng thông thường ở cấp thông dịch. Theo một cách nào đó, bạn có thể nói rằng Lambdas cung cấp cú pháp nhỏ gọn để viết các chức năng trả về một biểu thức duy nhất.

Tuy nhiên, bạn nên biết khi nào nên sử dụng Lambdas và khi nào nên tránh chúng. Trong phần này, bạn sẽ tìm hiểu một số nguyên tắc thiết kế được sử dụng bởi các nhà phát triển Python khi viết Lambdas.

Một trong những trường hợp sử dụng phổ biến nhất cho lambdas là trong lập trình chức năng vì Python hỗ trợ một mô hình (hoặc phong cách) của lập trình được gọi là lập trình chức năng.

Nó cho phép bạn cung cấp một chức năng như một tham số cho một hàm khác (ví dụ: trong bản đồ, bộ lọc, v.v.). Trong những trường hợp như vậy, sử dụng lambdas cung cấp một cách thanh lịch để tạo chức năng một lần và chuyển nó làm tham số.

Khi nào bạn không nên sử dụng Lambda?

Bạn không bao giờ nên viết các chức năng Lambda phức tạp trong môi trường sản xuất. Sẽ rất khó khăn cho các lập trình viên duy trì mã của bạn để giải mã nó. Nếu bạn thấy mình làm cho các biểu thức một lớp lót phức tạp, đó sẽ là một thực tiễn vượt trội hơn nhiều để xác định một chức năng thích hợp. Như một thông lệ tốt nhất, bạn cần nhớ rằng mã đơn giản luôn tốt hơn mã phức tạp.

Lambdas so với các chức năng thông thường

Như đã nêu trước đây, Lambdas là [VV4] [J5] chỉ các chức năng không có định danh bị ràng buộc với chúng. Nói một cách đơn giản hơn, chúng là các chức năng không có tên (do đó, ẩn danh). Dưới đây là một bảng để minh họa sự khác biệt giữa Lambdas và các chức năng thường xuyên trong Python.

Lambdas

Chức năng thường xuyên

Syntax:

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
3

Syntax:

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
4

Các chức năng Lambda chỉ có thể có một biểu hiện trong cơ thể của chúng.

Các chức năng thường xuyên có thể có nhiều biểu thức và tuyên bố trong cơ thể của họ.

Lambdas không có tên liên quan đến chúng. Đó là lý do tại sao chúng còn được gọi là chức năng ẩn danh.

Các chức năng thường xuyên phải có tên và chữ ký.

Lambdas không chứa câu lệnh trả lại vì cơ thể được tự động trả lại.

Các chức năng cần trả lại giá trị nên bao gồm một câu lệnh trả về.

Giải thích về sự khác biệt?

Sự khác biệt chính giữa LambDA và hàm chính quy là hàm LambDA chỉ đánh giá một biểu thức duy nhất và mang lại một đối tượng hàm. Do đó, chúng ta có thể đặt tên cho kết quả của hàm Lambda và sử dụng nó trong chương trình của chúng ta như chúng ta đã làm trong ví dụ trước.

Một chức năng thông thường cho ví dụ trên sẽ trông như thế này:

self.entry_1.bind("<Return>", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
5

Ở đây, chúng ta phải xác định tên cho hàm trả về kết quả khi chúng ta gọi nó. Một hàm Lambda không chứa câu lệnh trả về vì nó sẽ chỉ có một biểu thức duy nhất luôn được trả về theo mặc định. Bạn thậm chí còn phải gán một lambda vì nó có thể được gọi ngay lập tức (xem phần tiếp theo). Như bạn sẽ thấy trong ví dụ sau, Lambdas trở nên đặc biệt mạnh mẽ khi chúng ta sử dụng chúng với các chức năng tích hợp của Python.name for the function which returns the result when we call it. A lambda function doesn’t contain a return statement because it will have only a single expression which is always returned by default. You don’t even have to assign a lambda either as it can be immediately invoked (see the next section). As you will see in the following example, lambdas become particularly powerful when we use them with Python’s built-in functions.

Tuy nhiên, bạn vẫn có thể tự hỏi làm thế nào lambdas khác với một hàm trả về một biểu thức duy nhất (như trên trên). Ở cấp độ phiên dịch, không có nhiều sự khác biệt. Nghe có vẻ đáng ngạc nhiên, nhưng bất kỳ chức năng Lambda nào mà bạn xác định trong Python đều được người phiên dịch coi là chức năng bình thường.

Như bạn có thể thấy trong sơ đồ, hai định nghĩa được xử lý theo cùng một cách bởi trình thông dịch Python khi được chuyển đổi thành mã byte. Bây giờ, bạn không thể đặt tên cho một chức năng Lambda vì nó được đặt trước bởi Python, nhưng bất kỳ tên hàm nào khác sẽ mang lại cùng một mã byte [KR6].lambda because it is reserved by Python, but any other function name will yield the same bytecode[KR6].

Bản tóm tắt

  • Lambdas, còn được gọi là các hàm ẩn danh, là các hàm nhỏ, bị hạn chế không cần tên (tức là, một định danh).
  • Mỗi chức năng Lambda trong Python có 3 phần thiết yếu:
  • Từ khóa Lambda.
  • Các tham số (hoặc các biến ràng buộc) và
  • Các chức năng cơ thể.
  • Cú pháp để viết Lambda là: tham số Lambda: Biểu thức
  • Lambdas có thể có bất kỳ số lượng tham số nào, nhưng chúng không được đặt trong niềng răng
  • Một lambda chỉ có thể có 1 biểu thức trong cơ thể chức năng của nó, được trả về theo mặc định.
  • Ở cấp độ byte, không có nhiều sự khác biệt giữa cách xử lý của Lambdas và các chức năng thông thường được xử lý bởi trình thông dịch.
  • Lambdas Hỗ trợ iife Thru Cú pháp này: (tham số Lambda: Biểu thức) (Đối số)
  • Lambdas thường được sử dụng với các bản dựng Python sau:
  • Bộ lọc: Bộ lọc (tham số Lambda: Biểu thức, Chuỗi có thể điều chỉnh được)
  • Bản đồ: Bản đồ (tham số Lambda: Biểu thức, Trình tự ITEBELE)
  • Giảm: Giảm (tham số lambda1, tham số2: Biểu thức, chuỗi có thể điều chỉnh được)
  • Không viết các chức năng Lambda phức tạp trong môi trường sản xuất vì nó sẽ khó khăn cho người bảo trì mã.

[J5] Tôi đã thêm một bảng, nhưng lời giải thích là cần thiết để hiểu sự khác biệt.

Python Lambda có thể có hai đối số không?

Hàm Lambda là một hàm ẩn danh (nghĩa là được xác định mà không có tên) có thể lấy bất kỳ số lượng đối số nào, nhưng, không giống như các hàm bình thường, đánh giá và chỉ trả về một biểu thức.Lưu ý rằng, không giống như một hàm bình thường, chúng ta không bao quanh các tham số của hàm lambda với dấu ngoặc đơn.can take any number of arguments but, unlike normal functions, evaluates and returns only one expression. Note that, unlike a normal function, we don't surround the parameters of a lambda function with parentheses.

Hàm Lambda có thể có nhiều biểu thức trong Python không?

Các hàm Lambda là các hàm ẩn danh có thể chỉ chứa một biểu thức.can contain only one expression.

Lambda có thể có hai yếu tố không?

Chức năng của bạn có thể có nhiều kích hoạt.Mỗi kích hoạt hoạt động như một máy khách gọi chức năng của bạn một cách độc lập.Mỗi sự kiện mà Lambda chuyển đến chức năng của bạn chỉ có dữ liệu từ một máy khách hoặc kích hoạt.. Each trigger acts as a client invoking your function independently. Each event that Lambda passes to your function has data from only one client or trigger.

Có bao nhiêu lập luận có thể được chuyển cho Lambda?

Bạn có thể sử dụng nhiều đối số như bạn muốn trong hàm Lambda, nhưng nó chỉ có thể có một biểu thức.as many arguments as you want in a lambda function, but it can have only one expression.