Biểu thức lambda là gì?

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Kirill Smirnov

Data Science Consultant, Altran

Định nghĩa

biểu thức/hàm lambda - là hàm ngắn với cú pháp sau:

lambda arg1, arg2, ...: expression(arg1, arg2, ...)
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Định nghĩa

biểu thức/hàm lambda - là hàm ngắn với cú pháp sau:

lambda
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Định nghĩa

biểu thức/hàm lambda - là hàm ngắn với cú pháp sau:

lambda arg1, arg2, ...:
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Định nghĩa

biểu thức/hàm lambda - là hàm ngắn với cú pháp sau:

lambda arg1, arg2, ...: expression(arg1, arg2, ...)
lambda x: x**2
squared = lambda x: x**2

squared(4)
16

4 $\rightarrow$ x $\rightarrow$ x**2 $\rightarrow$ 16

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Định nghĩa

biểu thức/hàm lambda - là hàm ngắn với cú pháp sau:

lambda arg1, arg2, ...: expression(arg1, arg2, ...)
power = lambda x, y: x**y

power(2, 3)
8

2, 3 $\rightarrow$ x, y $\rightarrow$ x**y $\rightarrow$ 8

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Thiếu đối số

power = lambda x, y: x**y

 

power(2)
TypeError
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

So sánh với định nghĩa hàm thông thường

squared_lambda = lambda x: x**2
def squared_normal(x):
    return x**2
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

So sánh với định nghĩa hàm thông thường

                 lambda
def

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

So sánh với định nghĩa hàm thông thường

squared_lambda = lambda
def squared_normal

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

So sánh với định nghĩa hàm thông thường

squared_lambda = lambda x:
def squared_normal(x):

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

So sánh với định nghĩa hàm thông thường

squared_lambda = lambda x: x**2
def squared_normal(x):
    return x**2
squared_lambda(3)
9
squared_normal(3)
9
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Truyền hàm lambda làm đối số

def function_with_callback(num, callback_function):
    return callback_function(num)

callback_function(arg) - hàm nhận một đối số

def squared_normal(x):
    return x**2
function_with_callback(2, squared_normal)
4
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Truyền hàm lambda làm đối số

def function_with_callback(num, callback_function):
    return callback_function(num)

callback_function(arg) - hàm nhận một đối số

--> def squared_normal(x): <--
-->    return x**2         <--
--> function_with_callback(2, squared_normal) <--
4
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Truyền hàm lambda làm đối số

def function_with_callback(num, callback_function):
    return callback_function(num)

callback_function(arg) - hàm nhận một đối số

function_with_callback(2, lambda x: x**2)
4
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Định nghĩa

biểu thức/hàm lambda - là hàm ngắn với cú pháp sau:

lambda arg1, arg2, ...: expression(arg1, arg2, ...)
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Định nghĩa

biểu thức/hàm lambda - là hàm ngắn (vô danh) với cú pháp sau:

lambda arg1, arg2, ...: expression(arg1, arg2, ...)
squared = lambda x: x**2
squared(3)
9
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Định nghĩa

biểu thức/hàm lambda - là hàm ngắn (vô danh) với cú pháp sau:

lambda arg1, arg2, ...: expression(arg1, arg2, ...)
(lambda x: x**2)(3)
9
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Toán tử ba ngôi

def odd_or_even(num):
    if num % 2 == 0:
        return 'even'
    else:
        return 'odd'
odd_or_even(3)
'odd'
odd_or_even(6)
'even'
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Toán tử ba ngôi

def odd_or_even(num):
    return 'even' if num % 2 == 0 else 'odd'
odd_or_even(3)
'odd'
odd_or_even(6)
'even'
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Toán tử ba ngôi

odd_or_even = lambda num: 'even' if num % 2 == 0 else 'odd'
odd_or_even(3)
'odd'
odd_or_even(6)
'even'
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Ứng dụng thực tế

Chỉ dùng lambda khi thật cần!

  • trong thân hàm cho tác vụ nhỏ
  • làm callback
Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Vamos praticar!

Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Preparing Video For Download...