Chức năng lambda python đưa ra ví dụ 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

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 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, thì 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ường

2. Cú pháp hàm Lambda

Cú 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
2

nội dung

  1. Cách sử dụng hàm lambda. Ví dụ đơn giản

3. Cần các hàm Lambda

Có ít nhất 3 lý do

    1. 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 xác định bằng ___________8 cũng có thể được xác định trong một dòng duy nhất. Nhưng nói chung, 8 chức năng
      # calculate squares using def
      def squares_def(x):
          return x*x
      print('Using def: ', squares_def(5))
      
      được viết trong hơn 1 dòng
    2. Chúng thường được sử dụng khi cần tạm thời 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 in one line
      def squares_def(x): return x*x
      
      print('Using def: ', squares_def(5))
      
      4 ,
      # calculate squares using def in one line
      def squares_def(x): return x*x
      
      print('Using def: ', squares_def(5))
      
      5 and
      # calculate squares using def in one line
      def squares_def(x): return x*x
      
      print('Using def: ', squares_def(5))
      
      6.
    3. 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ản

Bạ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 lambda
squares = lambda x: x*x
print('Using lambda: ', squares(5))
Using lambda:  25

Chú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 in one line
def squares_def(x): return x*x

print('Using def: ', squares_def(5))
Using def:  25

Thấ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 sự khác biệt trong việc 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ọ

# Types
print(type(squares))
print(type(squares_def))
<class 'function'>
<class 'function'>

Cả hai đều thuộc lớp

Using def:  25
6

5. 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 các hướng dẫn

# Bytecode instructions of lambda function
import dis
dis.dis(squares)
  2           0 LOAD_FAST                0 (x)
              2 LOAD_FAST                0 (x)
              4 BINARY_MULTIPLY
              6 RETURN_VALUE

Mã byte cho chức năng `def` thông thường

Using lambda:  25
0
  2           0 LOAD_FAST                0 (x)
              2 LOAD_FAST                0 (x)
              4 BINARY_MULTIPLY
              6 RETURN_VALUE

Xem 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

  1. 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ố
Using lambda:  25
2

đầu ra

Chương trình nhà khoa học dữ liệu công nghiệp MLPlus

Bạn có muốn học Khoa học dữ liệu từ các Nhà khoa học dữ liệu có kinh nghiệm không?

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. Giải quyết các dự án với dữ liệu thực của công ty và trở thành Nhà khoa học dữ liệu được chứng nhận trong vòng chưa đầy 12 tháng.

Chức năng lambda python đưa ra ví dụ là gì?

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ị

Using lambda:  25
3
  1. 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
Using lambda:  25
4_______16_______5

7. Hàm Lambda có thể được gọi ngay lập tức

Bạ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. Đ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

Using lambda:  25
6

Đ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

Using lambda:  25
7

8. Có thể viết các hàm bậc cao hơn bằng lambda

Mộ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

Using lambda:  25
8

Thấ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

# Types
print(type(squares))
print(type(squares_def))
2 func

9. 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

Hà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 thông thường. 1. Đối số từ khóa.
# Types
print(type(squares))
print(type(squares_def))
5 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ụ

Using lambda:  25
9

Danh 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))
0

Danh 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))
1

2. đối số vị trí.

# Types
print(type(squares))
print(type(squares_def))
6 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))
2

10. Bạn có thể sử dụng hàm # calculate squares using def def squares_def(x): return x*x print('Using def: ', squares_def(5)) 9 trong Using def: 25 6

Hàm

Using def:  25
6 được sử dụng để lọc một đối tượng lặp 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 làm đố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 in one line
def squares_def(x): return x*x

print('Using def: ', squares_def(5))
4

# calculate squares using def
def squares_def(x):
    return x*x
print('Using def: ', squares_def(5))
3

11. 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

Hàm

Using def:  25
8 á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ỳ lần lặp 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))
4

12. Bạn cũng có thể sử dụng hàm # calculate squares using def def squares_def(x): return x*x print('Using def: ', squares_def(5)) 9 trong # calculate squares using def in one line def squares_def(x): return x*x print('Using def: ', squares_def(5)) 0

Hàm

# calculate squares using def in one line
def squares_def(x): return x*x

print('Using def: ', squares_def(5))
0 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 in one line
def squares_def(x): return x*x

print('Using def: ', squares_def(5))
0. Để sử dụng hàm
# calculate squares using def in one line
def squares_def(x): return x*x

print('Using def: ', squares_def(5))
0, bạn cần nhập
# calculate squares using def in one line
def squares_def(x): return x*x

print('Using def: ', squares_def(5))
6 từ thư viện ________ 33 _______3

# calculate squares using def
def squares_def(x):
    return x*x
print('Using def: ', squares_def(5))
5

Xem rằng hàm

# calculate squares using def in one line
def squares_def(x): return x*x

print('Using def: ', squares_def(5))
0 lặp lại nhân lên các phần tử trong danh sách.
# Bytecode instructions of lambda function
import dis
dis.dis(squares)
5, v.v.

13. Cách sử dụng hàm lambda để thao tác Dataframe

Bạ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 pháp
# Bytecode instructions of lambda function
import dis
dis.dis(squares)
7 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))
6

FirstSecondThirdForth012361456120

Khi được sử dụng với

# Bytecode instructions of lambda function
import dis
dis.dis(squares)
8, nó sẽ á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))
7

FirstSecondThirdForth014936116253614400

Phần kết luận

Hy 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

Hàm lambda trong Python với ví dụ là gì?

lambda là từ khóa trong Python để xác định hàm ẩn danh . (các) đối số 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.

lambda với ví dụ là gì?

Lambda chạy mã của bạn trên cơ sở hạ tầng điện toán có độ sẵn sàng cao và thực hiện tất cả công việc quản trị tài nguyên điện toán, bao gồm bảo trì máy chủ và hệ điều hành, cung cấp dung lượng và tự động thay đổi quy mô cũng như ghi nhật ký

Hàm lambda hoạt động như thế nào trong Python?

Hàm lambda Python hoạt động giống như một hàm bình thường đối với các đối số . Do đó, một tham số lambda có thể được khởi tạo với giá trị mặc định. tham số n lấy n bên ngoài làm giá trị mặc định. Hàm lambda Python có thể đã được viết là lambda x=n. print(x) và có cùng kết quả.

Tại sao bạn lại sử dụng lambda trong Python?

Sử dụng các hàm lambda khi cần một hàm ẩn danh trong một khoảng thời gian ngắn .