שיטות עבודה מומלצות להצהרות תנאי בפייתון
מאמר זה מסביר את שיטות העבודה המומלצות להצהרות תנאי בפייתון.
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 בפייתון הם כלים פשוטים וחזקים, אבל שימוש לא נכון יכול להפוך את הקוד למסובך וקשה לקריאה. באמצעות אימוץ השיטות הטובות ביותר שהוצגו כאן, תוכלו לשפר את הקריאות, התחזוקה והיעילות של הקוד שלכם.
תוכלו לעקוב אחר המאמר שלמעלה באמצעות Visual Studio Code בערוץ היוטיוב שלנו. נא לבדוק גם את ערוץ היוטיוב.