Có ai có thể giải thích rằng hành vi của các hàm lambda không?Lambda và nhiều câu lệnh trong Python
import sys
X = lambda: sys.stdout.write('first');sys.stdout.write("second")
X()
Returns: -> secondfirst
Và thêm một vấn đề:
lambda: sys.stdout.write("...");sys.exit(0)
Hoặc
lambda: sys.exit(0);sys.stdout.write("...")
Không thực hiện một cách chính xác. Và một câu hỏi nữa, tại sao trong dòng đầu tiên thực thi mồi đi từ phải sang trái?
Cố gắng với: Python3 + (3.4, 3.2) Hệ điều hành: Linux (Ubuntu), OSX
Tại sao bạn muốn tạo một lambda như thế này? –
Tôi không muốn sử dụng lambda theo cách đó, mồi đầu tiên được tìm thấy trong mã nagios plugin, và tôi là curios về lý do tại sao nó hoạt động theo cách đó :) – user4549992
'lambda' s * biểu thức * và cơ thể của chúng phải là một biểu thức. Bạn ** không thể ** đặt một câu lệnh bên trong một lambda, hãy để một mình nhiều câu lệnh. – Bakuriu