ฉันมีวิธีการที่เรียก 4 วิธีอื่น ๆ ตามลำดับเพื่อตรวจสอบเงื่อนไขเฉพาะและคืนค่าทันที
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
ดูเหมือนว่าจะมีรหัสกระเป๋ามากมาย แทนที่จะใช้คำสั่ง 2 บรรทัดหากฉันต้องการทำสิ่งต่อไปนี้:
x and return x
แต่นั่นเป็น Python ที่ไม่ถูกต้อง ฉันคิดถึงวิธีแก้ปัญหาที่เรียบง่ายและสง่างามใช่หรือไม่? บังเอิญในสถานการณ์นี้วิธีการตรวจสอบทั้งสี่นั้นอาจมีราคาแพงดังนั้นฉันจึงไม่ต้องการเรียกพวกเขาหลายครั้ง
x and return x
จะดีกว่าif x: return x
? หลังอ่านง่ายกว่าและสามารถซ่อมบำรุงได้ คุณไม่ควรกังวลเกี่ยวกับจำนวนตัวอักษรหรือบรรทัดมากเกินไป จำนวนการอ่าน พวกเขาเป็นตัวละครที่ไม่ใช่ช่องว่างในจำนวนที่เท่ากันอยู่แล้วและถ้าคุณต้องการจริงๆif x: return x
จะทำงานได้ดีในหนึ่งบรรทัด
x
(ตรงข้ามกับbool(x)
) ดังนั้นฉันคิดว่ามันปลอดภัยที่จะคิดว่าฟังก์ชั่นของ OP สามารถคืนสิ่งใดก็ได้และเขาต้องการสิ่งแรกที่เป็นจริง