Chính xác những gì đang xảy ra trong hàm:hiểu Rắc rối hàm lambda
lambda x: 10 if x == 6 else 1
Tôi biết những gì một số chức năng lambda làm, nhưng tôi không quen thấy họ viết như thế này. Tôi là một noob với bất kỳ dạng mã nào.
Chính xác những gì đang xảy ra trong hàm:hiểu Rắc rối hàm lambda
lambda x: 10 if x == 6 else 1
Tôi biết những gì một số chức năng lambda làm, nhưng tôi không quen thấy họ viết như thế này. Tôi là một noob với bất kỳ dạng mã nào.
Vì python là một ngôn ngữ tuyệt vời với các tính năng chức năng, bạn có thể thực hiện những điều tiện dụng với các hàm sử dụng lambdas. dụ của bạn là tương đương với
if x == 6:
return 10
else:
return 1
lambda
chức năng này rất hữu ích nếu bạn cần phải vượt qua một chức năng đơn giản như một cuộc tranh cãi với chức năng khác ở đâu đó trong mã của bạn.
some_function = lambda x: 10 if x == 6 else 1
là cú pháp đường cho:
def some_function(x):
return 10 if x == 6 else 1
Nghĩa là nó sẽ trở lại 10 nếu x == 6
đánh giá là True và gửi lại 1 cách khác.
Cá nhân tôi thích hình thức def
trong tất cả trừ trường hợp đơn giản nhất vì nó cho phép chức năng nhiều dòng, làm rõ hơn loại phí trên có liên quan đến việc gọi hàm, giúp phân tích việc đóng chức năng đơn giản hơn, và mở tâm trí của lập trình viên python mới cho các đối tượng mã phức tạp khác (như các lớp), có thể dễ dàng được xây dựng trong thời gian chạy.
Cảm ơn bạn rất nhiều. Điều đó có ý nghĩa tổng thể. – user2195823
Không sao cả! Và chào mừng bạn đến với SO! Chúng tôi hy vọng bạn gắn bó với lập trình và xung quanh StackOverflow! Hãy nhớ "chấp nhận" một trong những câu trả lời này hữu ích bằng cách nhấp vào dấu kiểm. Nếu bạn dự định tiếp tục sử dụng SO, nó sẽ đóng góp cho danh tiếng của bạn như là một "người hỏi". – marr75
Vâng, "python là ngôn ngữ chức năng" hơi căng. Đó là một ngôn ngữ bắt buộc với các tính năng chức năng. – Gene
Đủ tính năng trong các mô hình khác được gọi là "đa mô hình"; giống như hầu như tất cả các ngôn ngữ chính thống. – marr75
Cảm ơn bạn. Điều đó thực sự hữu ích. – user2195823