tôi có chức năng sau lambda:Python lambda trở về None thay vì chuỗi rỗng
f = lambda x: x == None and '' or x
Nó sẽ trả về một chuỗi rỗng nếu nó nhận được Không như là đối số hoặc đối số nếu nó không phải là Không.
Ví dụ:
>>> f(4)
4
>>> f(None)
>>>
Nếu tôi gọi f (None) thay vì nhận được một chuỗi rỗng tôi nhận được Không. Tôi đã in kiểu hàm trả về và tôi nhận được NoneType. Tôi đã mong đợi chuỗi.
loại ('') trả về chuỗi, vì vậy tôi muốn biết lý do tại sao lambda không trả về một chuỗi trống khi tôi vượt qua Không là đối số.
Tôi khá mới đối với lambdas nên tôi có thể đã hiểu nhầm một số điều về cách thức hoạt động của chúng.
Bạn đã cam kết một trong những sai lầm ngớ ngẩn cổ điển ... – PaulMcG