Hàm Lambda, còn được gọi là 'Hàm ẩn danh' giống như hàm python thông thường nhưng có thể được xác định mà không cần tên 1. Hàm Lambda trong Python là gì?Hàm Lambda, còn được gọi là 'Hàm ẩn danh' giống như hàm python thông thường nhưng có thể được xác định mà không cần tên. Trong khi các chức năng bình thường được xác định bằng từ khóa # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8, các chức năng ẩn danh được xác định bằng từ khóa # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9. Tuy nhiên, chúng bị giới hạn trong một dòng biểu thức. Chúng có thể nhận nhiều tham số như trong các hàm thông thường2. Cú pháp hàm LambdaCú pháp cho hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9 được đưa ra bởi. Using def: 25
1 Lưu ý, có thể có bất kỳ số lượng đối số nào nhưng chỉ có thể chứa một biểu thức duy nhất. Không có câu lệnh Using def: 25
2 thường có trong cú pháp hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8. Hàm sẽ chỉ trả về giá trị biểu thức ngay cả khi không có câu lệnh Using def: 25
2nội dung- Hàm Lambda trong Python là gì?
- Cú pháp hàm Lambda
- Cần các hàm Lambda
- Cách sử dụng hàm lambda. Ví dụ đơn giản
- Bên trong, cả hai hàm lambda và def đều hoạt động giống hệt nhau
- Các hàm lambda có thể có 0 hoặc 1 biểu thức, không nhiều hơn
- Hàm Lambda có thể được gọi ngay lập tức
- Có thể viết các hàm bậc cao hơn bằng lambda
- Các hàm lambda chấp nhận tất cả các loại đối số, giống như hàm def bình thường
- Bạn có thể sử dụng chức năng
# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9 trong Using def: 25
6 - Bạn có thể sử dụng chức năng
# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9 trong Using def: 25
8 - Bạn cũng có thể sử dụng chức năng
# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9 trong # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
20 - Cách sử dụng hàm lambda để thao tác Dataframe
- Phần kết luận
3. Cần các hàm LambdaCó ít nhất 3 lý do - Các hàm lambda giảm số lượng dòng mã khi so sánh với hàm python thông thường được xác định bằng từ khóa
# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8. Nhưng điều này không hoàn toàn đúng bởi vì, ngay cả các hàm được định nghĩa bằng # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8 cũng có thể được định nghĩa trong một dòng duy nhất. Nhưng nói chung, các hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8 được viết trong hơn 1 dòng - Chúng thường được sử dụng khi tạm thời cần một chức năng trong thời gian ngắn, thường được sử dụng bên trong một chức năng khác, chẳng hạn như
# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
24 , # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
25 and # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
26. - Sử dụng hàm lambda, bạn có thể định nghĩa một hàm và gọi nó ngay khi kết thúc định nghĩa. Điều này không thể thực hiện được với các hàm
# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8 .
Hãy xem thêm về cách triển khai chúng trong python 4. Cách sử dụng hàm lambda. Ví dụ đơn giảnBạn không cần chỉ định tên cho hàm như đã thảo luận ở trên về cú pháp của hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9. Hãy thử xác định một hàm để tính bình phương của các giá trị đã cho# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
1# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
2Chúng ta cũng hãy xem cách thực hiện chức năng tương tự bằng cách sử dụng từ khóa # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8 và so sánh chúng# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
đầu ra Using def: 25
Làm tương tự trong một dòng # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
2____3Thấy rằng trong khi sử dụng từ khóa # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8, chúng tôi đang trả về một giá trị nhất định Using def: 25
1. Trong trường hợp hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9, biểu thức Using def: 25
1 sẽ được trả về mà không cần viết câu lệnh trả về rõ ràng. Nói chung trong sử dụng thông thường, không có nhiều khác biệt khi sử dụng từ khóa # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8 và # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9. Trên thực tế, cả hai đều có chức năng. Hãy xem các loại của họUsing def: 25
4Using def: 25
5Cả hai đều thuộc lớp Using def: 25
65. Bên trong, cả hai hàm lambda và def đều hoạt động giống hệt nhauĐể kiểm tra cách chúng hoạt động bên trong, hãy sử dụng từ khóa Using def: 25
7. Từ khóa Using def: 25
7 sẽ hiển thị phiên bản mã byte python có thể đọc được cho phép kiểm tra hướng dẫnUsing def: 25
9Using def: 25
0Mã byte cho chức năng `def` thông thường # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
20Using def: 25
0Xem rằng quy trình được thực hiện bởi cả hai chức năng là hoàn toàn giống nhau. Vì vậy, không có sự khác biệt thực sự trong cách họ thực hiện. 6. Các hàm lambda có thể có 0 hoặc 1 biểu thức, không nhiều hơn- Không có biểu hiện. không chứa biểu thức nào, sẽ cho kết quả giống nhau cho tất cả các đối số
# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
22đầu ra Nhận khóa học Python hoàn chỉnh miễn phíĐối mặt với tình huống tương tự như những người khác? Xây dựng sự nghiệp khoa học dữ liệu của bạn với bằng cấp được ngành công nhận trên toàn cầu. Có được tư duy, sự tự tin và các kỹ năng khiến Nhà khoa học dữ liệu trở nên có giá trị Nhận khóa học Python miễn phí Nhận khóa học Python hoàn chỉnh miễn phíXây dựng sự nghiệp khoa học dữ liệu của bạn với bằng cấp được ngành công nhận trên toàn cầu. Có được tư duy, sự tự tin và các kỹ năng khiến Nhà khoa học dữ liệu trở nên có giá trị Nhận khóa học Python miễn phí # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
23- Biểu thức đơn. Chúng có thể chứa một biểu thức hoặc không có biểu thức nào. Chúng ta không thể đặt nhiều hơn một biểu thức trong hàm lambda
# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
24# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
257. Hàm Lambda có thể được gọi ngay lập tứcBạn có thể triển khai hàm lambda mà không cần sử dụng tên biến. Bạn cũng có thể chuyển trực tiếp các giá trị đối số vào hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9 ngay sau khi xác định nó bằng cách sử dụng dấu ngoặc đơn. Điều này không thể được thực hiện bằng cách sử dụng các hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
26Điều này không hoạt động với chức năng # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
278. Có thể viết các hàm bậc cao hơn bằng lambdaMột hàm lambda có thể lấy một hàm khác làm đối số. Hãy xem ví dụ về hàm lambda lồng nhau, hàm lambda bên trong hàm lambda khác # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
28Thấy rằng tôi đã chuyển một hàm lambda khác để tính bình phương làm đối số cho biến Using def: 25
42 func9. Các hàm lambda chấp nhận tất cả các loại đối số, giống như hàm def bình thườngHàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9 hỗ trợ tất cả các loại đối số giống như hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
8 bình thường. 1. Đối số từ khóa. Using def: 25
45 là một đối số đứng trước một mã định danh (e. g. name=) trong một lệnh gọi hàm. Đối số được đặt tên. Ví dụ# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
29Danh sách biến của các đối số. Ví dụ # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
0Danh sách biến của các đối số từ khóa. Ví dụ # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
12. đối số vị trí. Using def: 25
46 là một đối số không phải là đối số từ khóa# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
210. Bạn có thể sử dụng chức năng # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9 trong Using def: 25
6Hàm Using def: 25
6 được sử dụng để lọc một đối tượng có thể lặp lại nhất định (danh sách giống như đối tượng) bằng cách sử dụng một hàm khác xác định logic lọc. Hàm lambda thường được sử dụng để xác định logic lọc và được chuyển thành đối số đầu tiên của Using def: 25
6. Một iterable giống như một đối tượng danh sách được truyền dưới dạng đối số thứ hai cho hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
24# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
311. Bạn có thể sử dụng chức năng # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9 trong Using def: 25
8Hàm ________ 38 áp dụng một hàm đã cho cho tất cả các mục trong danh sách và trả về kết quả. Tương tự như Using def: 25
6, chỉ cần chuyển hàm lambda và danh sách (hoặc bất kỳ có thể lặp lại nào, như tuple) làm đối số# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
412. Bạn cũng có thể sử dụng chức năng # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9 trong # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
20Hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
20 thực hiện thao tác lặp lại trên các cặp phần tử trong danh sách. Truyền hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9 và danh sách làm đối số cho hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
20. Để sử dụng hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
20, bạn cần nhập # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
26 từ thư viện Using def: 25
93# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
5Thấy rằng hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
20 lặp đi lặp lại trên các phần tử trong danh sách. Using def: 25
95, v.v.13. Cách sử dụng hàm lambda để thao tác DataframeBạn cũng có thể thao tác các cột của khung dữ liệu bằng hàm # calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
9. Đó là một ứng cử viên tuyệt vời để sử dụng bên trong phương thức Using def: 25
97 của khung dữ liệu. Tôi sẽ cố gắng thêm một hàng mới vào khung dữ liệu trong phần này làm ví dụ# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
6FirstSecondThirdForth012361456120 Khi được sử dụng với Using def: 25
98, nó áp dụng hàm lambda cho mọi phần tử của khung dữ liệu# calculate squares using def
def squares_def(x):
return x*x
print('Using def: ', squares_def(5))
7FirstSecondThirdForth014936116253614400 Phần kết luậnHy vọng bạn đã rõ hàm lambda là gì và cách bạn có thể sử dụng nó trong các tình huống khác nhau. Hãy thử các bài tập sau để kiểm tra sự hiểu biết của bạn
Lambda được sử dụng cho mục đích gì?
Lambda chạy mã của bạn trên cơ sở hạ tầng điện toán có tính sẵn sàng cao và thực hiện tất cả việc quản trị tài nguyên điện toán của bạn . Điều này bao gồm bảo trì máy chủ và hệ điều hành, cung cấp năng lực và tự động mở rộng quy mô, triển khai bản vá bảo mật và mã cũng như giám sát và ghi nhật ký mã.
Có thể sử dụng lambda với vòng lặp for trong Python không?
Vì vòng lặp for là một câu lệnh (như print , trong Python 2. x), bạn không thể đưa nó vào biểu thức lambda . Thay vào đó, bạn cần sử dụng phương thức ghi trên sys.
Tôi có nên sử dụng lambdas trong Python không?
Một trong những trường hợp sử dụng lambdas phổ biến nhất là trong lập trình hàm vì Python hỗ trợ một mô hình (hoặc phong cách) lập trình được gọi là lập trình hàm. Nó cho phép bạn cung cấp một hàm dưới dạng tham số cho một hàm khác (ví dụ: trong bản đồ, bộ lọc, v.v. ). |