Tôi có một phương thức gọi 4 phương thức khác theo trình tự để kiểm tra các điều kiện cụ thể và trả về ngay lập tức (không kiểm tra các phương thức sau) mỗi khi trả về một điều gì đó Sự thật.
def check_all_conditions():
x = check_size()
if x:
return x
x = check_color()
if x:
return x
x = check_tone()
if x:
return x
x = check_flavor()
if x:
return x
return None
Điều này có vẻ như rất nhiều mã hành lý. Thay vì mỗi câu lệnh if 2 dòng, tôi muốn làm một cái gì đó như:
x and return x
Nhưng đó là Python không hợp lệ. Tôi có thiếu một giải pháp đơn giản, thanh lịch ở đây không? Ngẫu nhiên, trong tình huống này, bốn phương thức kiểm tra đó có thể tốn kém, vì vậy tôi không muốn gọi chúng nhiều lần.
x and return x
là tốt hơn if x: return x
? Thứ hai là dễ đọc hơn và do đó có thể duy trì. Bạn không nên lo lắng quá nhiều về số lượng ký tự hoặc dòng; số lượng dễ đọc. Dù sao chúng cũng có cùng số lượng ký tự không phải khoảng trắng, và nếu bạn thực sự phải, if x: return x
sẽ hoạt động tốt trên chỉ một dòng.
x
(trái ngược với bool(x)
) vì vậy tôi nghĩ an toàn khi cho rằng các chức năng của OP có thể trả về bất cứ điều gì và anh ta muốn bất cứ điều gì đầu tiên là sự thật.