tôi có xu hướng sử dụng này rất nhiều, nhưng nó xấu xí:Cách tốt nhất để làm nhiệm vụ có điều kiện trong python
a = (lambda x: x if x else y)(get_something())
Vì vậy, tôi đã viết chức năng này:
def either(val, alt):
if val:
return val
else:
return alt
Vì vậy, bạn có thể làm:
a = either(get_something(), y)
Có chức năng tích hợp cho điều này (tương tự ISNULL trong T-SQL) không?
Cảm ơn. Ha, tôi đã thực sự cố gắng nhưng bỏ qua nó khi cố gắng 'a = 0 hoặc None' và giao diện điều khiển in không có gì. Nhưng thử 'a is is None' sau đó cho 'True', cộng với tôi muốn 'None hoặc 0' chức năng anyway (nhận muộn) :) Bằng cách này, cảm ơn cho câu trả lời nhanh chóng. – crizCraig
Chỉ cần cho bản ghi, nếu bạn đang sử dụng toán tử 'và', nó sẽ đánh giá đối số đúng nhất chuyển đổi thành True nếu tất cả đối số hoặc đối số bên trái nhiều nhất chuyển thành False nếu có chuyển đổi thành False. –
"a = 0 hoặc None" Tất nhiên giao diện điều khiển sẽ không in bất cứ thứ gì, bạn chỉ định kết quả của '0 hoặc None' thành' a' và các biến với 'None' được gán cho chúng sẽ không tự động hiển thị 'None' khi được hiển thị trong bảng điều khiển. Bạn phải sử dụng cụ thể 'repr',' str' hoặc 'print'. Hay đại loại thế. – JAB