מפעיל הטרינרי בפייתון מאפשר לנו לבצע בדיקות מותנות ולהקצות ערכים או לבצע פעולות בשורה אחת. זה ידוע גם כביטוי מותנה מכיוון שהוא מעריך מצב ומחזיר ערך אחד אם התנאי נכון ואחר אם הוא שקרי.
דוגמה בסיסית למפעיל טרנרי
הדרך הפשוטה ביותר להשתמש במפעיל טרנרי של פייתון היא כשיש לנו פשוט אם תנאי אחר - אחד משני התנאים נכון והשני שקרי.
נתחיל בדוגמה פשוטה כדי לקבוע אם מספר שווה או מוזר:
Python
n = 5 res = 'Even' if n % 2 == 0 else 'Odd' print(res)
תְפוּקָה
Odd
ניתן להשתמש במפעיל הטרינרי בדרכים שונות. הבה נראה כמה דוגמאות שונות לשימוש במפעילי טרנרי בפייתון:
טבלת תוכן
- מפעיל טרנרי בקינון אם אחרת
- מפעיל טרנרי המשתמש בפיתון טופלה
- מפעיל טרנרי המשתמש במילון פייתון
- מפעיל טרנרי המשתמש בפיתון למבדה
- מפעיל טרנרי עם פונקציית הדפסה
מפעיל טרנרי בקינון אם אחרת
ניתן להשתמש גם במפעיל הטרינרי פייתון קינן את הצהרת אם-אלס ו אנו יכולים לקנן מפעילי טרנארי כדי להעריך תנאים מרובים בשורה אחת.
תַחבִּיר: value_if_true אם מצב אחר value_if_false
ג'אווה hashable
דוּגמָה:
Pythonn = -5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print(res)
תְפוּקָה
Negative
הֶסבֵּר:
- ראשית הוא בודק אם מספר> 0. אם נכון זה חוזר 'חיובי'.
- אם שקר הוא בודק אם NUM< 0. If True it returns 'Negative'.
- אם שני התנאים נכשלים זה ברירת מחדל ל'אפס '.
מפעיל טרנרי המשתמש בטופלה
ניתן לכתוב גם את המפעיל הטרינרי באמצעות שימוש פיתון טופלים ו שיטת אינדקס הטפל היא אלטרנטיבה למפעיל הטרינרי.
תַחבִּיר: (מצב_ס_פלס תנאי_ס_טרו) [תנאי]
דוּגמָה:
Pythonn = 7 res = ('Odd' 'Even')[n % 2 == 0] print(res)
תְפוּקָה
Odd
הֶסבֵּר:
- התנאי num % 2 == 0 מעריך ל- FALSE (אינדקס 0) כך שהוא בוחר 'מוזר'.
מפעיל טרנרי המשתמש במילון
א מילון ניתן להשתמש במיפוי תנאים לערכים המספקים דרך להשתמש במפעיל טרנרי עם תנאים מורכבים יותר.
git להוסיף הכל
תַחבִּיר: תנאי_דיקט = {נכון: value_if_true שקר: value_if_false}
דוּגמָה:
Pythona = 10 b = 20 max = {True: a False: b}[a > b] print(max)
תְפוּקָה
20
הֶסבֵּר: זה משתמש במילון בו המפתח נכון או לא נכון על סמך התנאי a> b. לאחר מכן נבחר הערך המתאים (A או B).
מפעיל טרנרי המשתמש בפיתון למבדה
Lambdas ניתן להשתמש בשילוב עם המפעיל הטרנרי לצורך היגיון מותנה מוטבע.
קיצורי מקלדת של לינוקס
תַחבִּיר: lambda x: value_if_true אם מצב אחר value_if_false
דוּגמָה:
Pythona = 10 b = 20 max = (lambda x y: x if x > y else y)(a b) print(max)
תְפוּקָה
20
הֶסבֵּר: זה מגדיר פונקציה אנונימית (Lambda) שלוקחת שני טיעונים ומחזירה את הגדולה יותר באמצעות המפעיל הטרנרי. לאחר מכן זה נקרא עם A ו- B.
מפעיל טרנרי עם פונקציית הדפסה
ניתן להשתמש במפעיל הטרינרי גם ישירות עם הצהרת הדפסה של פייתון ו התחביר שלו הוא הבא:
תַחבִּיר: הדפס (value_if_true אם מצב אחר value_if_false)
דוּגמָה: בדוגמה זו אנו מוצאים את המספר המינימלי בין שני מספרים המשתמשים במפעיל טרנרי של פייתון עם הצהרת הדפסה.
Pythona = 10 b = 20 print('a is greater' if a > b else 'b is greater')
תְפוּקָה
b is greater
הֶסבֵּר: זה בודק אם A גדול מ- b. אם נכון זה מדפיס 'A גדול יותר'; אחרת זה מדפיס 'B גדול יותר'.
מגבלות של מפעיל טרנרי פייתון
בעוד שמפעיל הטרינרי תמציתי, יש להשתמש בו בזהירות:
- זה יכול להפחית את הקריאה אם מנוצל יתר על המידה או משתמשים בו בתנאים מורכבים.
- זה מוגבל לביטויים פשוטים עם קו יחיד.