แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้คำสั่งเงื่อนไขในภาษาไพธอน
บทความนี้อธิบายแนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้คำสั่งเงื่อนไขในไพธอน
YouTube Video
แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้คำสั่งเงื่อนไขในภาษาไพธอน
คำสั่ง if
ในไพธอนเป็นโครงสร้างพื้นฐานสำหรับการทำการแตกกิ่งตามเงื่อนไข และส่งผลอย่างมากต่อการอ่านและการบำรุงรักษาโค้ด ที่นี่เราจะพูดถึงรายละเอียดของแนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้คำสั่ง if
ใช้การแสดงเงื่อนไขที่ชัดเจน
การแสดงเงื่อนไขควรกระชับและชัดเจน ตัวอย่างเช่น หลีกเลี่ยงคำสั่งที่ยาวเกินไปเหมือนตัวอย่างนี้:
1# Bad Example
2if condition == True:
3 pass
4
5# Good Example
6if condition:
7 pass
ในไพธอน คุณสามารถแสดงเงื่อนไขที่เป็นจริงได้โดยเขียนว่า if condition:
การรวมเงื่อนไขหลายอย่างเข้าด้วยกัน
เมื่อรวมเงื่อนไขหลายอย่างเข้าด้วยกัน ให้ใช้ and
หรือ or
อย่างไรก็ตาม เมื่อการแสดงเงื่อนไขซับซ้อนมากขึ้น การอ่านอาจยากขึ้น ดังนั้นให้พิจารณาการปรับดังต่อไปนี้:
1# Complex condition
2if (age > 18 and age < 65) or (is_student and age > 15):
3 pass
4
5# Improving readability
6is_working_age = 18 < age < 65
7is_eligible_student = is_student and age > 15
8
9if is_working_age or is_eligible_student:
10 pass
โดยการแยกเงื่อนไขและกำหนดค่าเหล่านั้นให้ตัวแปร การอ่านสามารถดีขึ้นได้
เข้าใจค่า Truthy และ Falsy
ในไพธอน ค่าเหล่านี้จะถูกประเมินเป็น False
:
ไม่มี
เท็จ
- ตัวเลข
0
(รวมถึง0.0
) - ลำดับว่างเปล่า (เช่น
[]
,""
,()
) - แผนที่ว่างเปล่า (เช่น
{}
)
การใช้ประโยชน์จากจุดนี้สามารถช่วยให้ง่ายขึ้นในการเขียนการแสดงเงื่อนไข
1# Bad Example
2if len(items) > 0:
3 pass
4
5# Good Example
6if items:
7 pass
การใช้ elif
และ else
อย่างเหมาะสม
เมื่อประเมินเงื่อนไขหลายข้อ ให้ใช้ elif
ใช้ else
เพื่อกำหนดพฤติกรรมเริ่มต้นในตอนท้าย
1if score >= 90:
2 grade = "A"
3elif score >= 80:
4 grade = "B"
5elif score >= 70:
6 grade = "C"
7else:
8 grade = "F"
หมายเหตุ:
else
ไม่จำเป็นต้องใช้เสมอไป หากครอบคลุมทุกเงื่อนไขแล้ว สามารถละเว้นได้- ให้ความสำคัญกับลำดับของการแสดงเงื่อนไขและจัดเรียงอย่างมีเหตุผลโดยไม่ซ้ำซ้อน
จำกัดความลึกของการซ้อนเงื่อนไข
การซ้อนคำสั่ง if หลายชั้นทำให้โค้ดอ่านยากขึ้น เปรียบเทียบตัวอย่างต่อไปนี้
1# Bad Example
2if user.is_authenticated:
3 if user.has_permission:
4 if resource.is_available:
5 access_resource()
6
7# Good Example
8if not user.is_authenticated:
9 return
10if not user.has_permission:
11 return
12if not resource.is_available:
13 return
14
15access_resource()
การใช้การคืนค่าก่อนจะช่วยลดการซ้อนและทำให้โค้ดกระชับขึ้น
หลีกเลี่ยงการใช้คำสั่ง if แบบบรรทัดเดียว
แม้ว่าจะสามารถเขียนคำสั่ง if ในบรรทัดเดียวได้ แต่จะลดความสามารถในการอ่านโค้ด
1# Bad Example
2if condition: do_something()
3
4# Good Example
5if condition:
6 do_something()
การใช้คำสั่ง if แบบบรรทัดเดียวสามารถยอมรับได้สำหรับเงื่อนไขหรือการกระทำที่สั้น แต่ควรเลี่ยงโค้ดที่ยืดยาว
การแคชการแสดงเงื่อนไข
การแสดงเงื่อนไขที่มีการคำนวณหนักหรือการเรียกฟังก์ชันสามารถแคชลงในตัวแปรเพื่อปรับปรุงประสิทธิภาพ
1# Bad Example
2if expensive_function() and another_expensive_function():
3 pass
4
5# Good Example
6result1 = expensive_function()
7result2 = another_expensive_function()
8if result1 and result2:
9 pass
สรุป
คำสั่ง if ของ Python เป็นเครื่องมือที่ง่ายและทรงพลัง แต่การใช้ที่ไม่เหมาะสมอาจทำให้โค้ดซับซ้อนและอ่านยาก โดยการนำนิสัยการทำงานที่ดีที่สุดที่แนะนำไว้ที่นี่มาใช้ คุณสามารถปรับปรุงความอ่านง่าย การดูแลรักษา และประสิทธิภาพของโค้ดของคุณได้
คุณสามารถติดตามบทความข้างต้นโดยใช้ Visual Studio Code บนช่อง YouTube ของเรา กรุณาตรวจสอบช่อง YouTube ด้วย