Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng lambda với điều kiện if-else trong Python. Ghép nối cả hai điều này có thể rất hữu ích khi bạn yêu cầu các chức năng ẩn danh nâng cao hơn
Câu lệnh điều kiện trong bất kỳ ngôn ngữ lập trình nào là một trong những khái niệm cơ bản cần học. Công dụng chính của chúng là hành động theo các điều kiện được cung cấp. Mọi lập trình viên phải học những điều này và sau đó tiến tới các chủ đề nâng cao. Trong hầu hết các ngôn ngữ chỉ có ba câu điều kiện
- nếu
- khác
- khác nếu
Hàm lambda trong Python là gì?
Hàm lambda trong Python là hàm ẩn danh. Mục đích cốt lõi của việc sử dụng khái niệm này là nó làm cho việc tạo các chức năng trở nên dễ dàng
Cú pháp hàm Lambda
variable = lambda parameters_list : expression
Để biết thêm thông tin, hãy nhập lệnh sau
help['lambda']
Chúng tôi nhận được đầu ra sau
Lambdas ******* lambda_expr ::= "lambda" [parameter_list] ":" expression lambda_expr_nocond ::= "lambda" [parameter_list] ":" expression_nocond Lambda expressions [sometimes called lambda forms] are used to create anonymous functions. The expression "lambda parameters: expression" yields a function object. The unnamed object behaves like a function object defined with: def [parameters]: return expression Note that functions created with lambda expressions cannot contain statements or annotations.
Sử dụng lambdas, chúng tôi có thể thực hiện các thao tác sau để bắt đầu thân thiện với người mới bắt đầu
- Phép cộng
- phép trừ
- Phép nhân
- Phân công
Các nghiệp vụ ứng trước khác bao gồm
- Sử dụng trong lập trình chức năng
- Sử dụng trong lập trình hướng đối tượng
- Tham số hóa một phương thức của một lớp cụ thể
Hãy xem một vài ví dụ về hàm lambda
Phép cộng
Mã số
add = lambda a, b: a + b print[add[5, 5]] # output: 10
Mã rất đơn giản. Đầu tiên chúng ta tạo một đối tượng lambda như add. Sau đó, chúng tôi lưu trữ hai tham số bên trong biểu thức lambda. Các tham số này là hai số dành cho phép toán cộng. Sau đó, trong dấu hai chấm, chúng ta đặt biểu thức cộng trước dấu hai chấm
phép trừ
Mã số
subtract = lambda a, b: a - b print[add[100, 50]] # output: 50
Phép nhân
Mã số
multiply = lambda a, b: a * b print[multiply[100, 50]] # output: 5000
Sử dụng Lambda với điều kiện if-else
Sử dụng lambda với các điều kiện if-else là một kỹ thuật hữu ích. Điều này cũng làm giảm các dòng mã. Bây giờ, hãy lưu ý rằng phần biểu thức trong lambdas chỉ có thể chứa một biểu thức tại một thời điểm
Cú pháp chung khi sử dụng lambda với điều kiện if-else trong Python
variable_name = lambda parameters : code_for_if if [condition] else code_for_else
cú pháp chỉ khác một chút so với cách triển khai cốt lõi của lambda. Vì vậy, chỉ cần khai báo mã trước câu lệnh if rồi viết câu lệnh if với điều kiện. Nếu nhu cầu xảy ra, khối khác xuất hiện ngay sau câu lệnh if
conditional_lambda = lambda x: x/100 if x < 20 else x print[conditional_lambda[4]] # output: 0.04
Giải trình
- Chúng tôi tạo một đối tượng lambda là có điều kiện_lambda
- Sau đó, chúng tôi lưu trữ một biến x và biểu thức dưới dạng x/100 từ và kết hợp với câu lệnh điều kiện của chúng tôi nằm
- Câu lệnh nói rằng nếu x nhỏ hơn 20 chia nó cho 100 thì in ra nguyên trạng
- Sau đó, chúng tôi gọi hàm có điều kiện_lambda và bên trong nó, chúng tôi đặt tham số là 4
- Vì 4 nhỏ hơn 20 nên nó sẽ chia cho 100 và đầu ra là 0. 04 trên màn hình
Bây giờ chúng ta sẽ nghiên cứu cách chúng ta có thể sử dụng các thao tác nâng cao khác với
Ví dụ. Kiểm tra xem số đã cho là số chẵn hay số lẻ bằng lambdas
________số 8
đầu ra
>>> Enter any number: 65 65 is Odd
help['lambda']0
Ví dụ. Kiểm tra xem số đã cho là số chẵn hay số lẻ bằng lambdas
help['lambda']1
đầu ra
help['lambda']2
help['lambda']3
Giải trình
- Trước tiên, chúng tôi xác định câu lệnh lambda. Hàm có hai tham số a và b. Tên hàm là kiểm tra
- Sau đó, sau khối if đến. Điều kiện chính là a nên chia hết cho b. Nếu điều này là đúng thì khối in[“a chia hết cho b”]. Nhưng nếu phần còn lại không bằng 0 thì khối khác in không thể chia hết
- Sau đó, chúng ta tạo một đối tượng hàm là obj và gọi nó là liên quan đến check[a, b]
Khung tham chiếu
https. // stackoverflow. com/questions/1585322/is-there-a-way-to-perform-if-in-python-lambda
kết thúc
Như vậy, chúng ta đã đi đến cuối chủ đề này. Sử dụng Lambda với điều kiện if-else là một trong những chủ đề quan trọng giúp duy trì khả năng hiển thị của mã một dòng. Điều tốt nhất là chúng ta không cần thay đổi cú pháp cốt lõi và chỉ chỉnh sửa các điều kiện của mình và những thứ khác mà thôi. Người đọc phải xem lại mã và thử nhiều lần để hiểu mã