يسمح لنا المشغل الثلاثي في بايثون بإجراء اختبارات شرطية وتعيين قيم أو إجراء عمليات على سطر واحد. يُعرف أيضًا بالتعبير الشرطي لأنه يقوم بتقييم الشرط وإرجاع قيمة واحدة إذا كان الشرط صحيحًا وأخرى إذا كان خطأ.
المثال الأساسي للمشغل الثلاثي
إن أبسط طريقة لاستخدام عامل التشغيل الثلاثي في بايثون هي عندما يكون لدينا عامل تشغيل بسيط إذا كان الشرط آخر - أحد الشرطين صحيح والآخر باطل.
لنبدأ بمثال بسيط لتحديد ما إذا كان الرقم زوجيًا أم فرديًا:
Pythonn = 5 res = 'Even' if n % 2 == 0 else 'Odd' print(res)
الإخراج
Odd
يمكن استخدام المشغل الثلاثي بطرق مختلفة. دعونا نرى بعض الأمثلة المختلفة لاستخدام مشغلي Ternary في بايثون:
جدول المحتويات
إنشاء مثيل في جافا
- المشغل الثلاثي في متداخل إذا كان غير ذلك
- المشغل الثلاثي باستخدام Python Tuple
- المشغل الثلاثي باستخدام قاموس بايثون
- المشغل الثلاثي باستخدام بايثون لامدا
- مشغل ثلاثي مع وظيفة الطباعة
المشغل الثلاثي في متداخل إذا كان غير ذلك
يمكن أيضًا استخدام المشغل الثلاثي في بيان if-else المتداخل في بايثون . يمكننا دمج عوامل التشغيل الثلاثية لتقييم شروط متعددة في سطر واحد.
بناء الجملة: value_if_true إذا كان الشرط آخر value_if_false
مثال:
Python
n = -5 res = 'Positive' if n > 0 else 'Negative' if n < 0 else 'Zero' print(res)
الإخراج
Negative
توضيح:
حاول التقاط كتلة جافا
- أولاً يتحقق مما إذا كان الرقم > 0. إذا كان صحيحًا فإنه يُرجع "إيجابي".
- إذا كان False يتحقق مما إذا كان الرقم< 0. If True it returns 'Negative'.
- إذا فشل كلا الشرطين، فسيتم تعيينه افتراضيًا على "صفر".
المشغل الثلاثي باستخدام Tuple
يمكن أيضًا كتابة العامل الثلاثي باستخدام صفوف بايثون . تعد طريقة فهرسة المجموعة بديلاً للمشغل الثلاثي.
بناء الجملة: (حالة_خطأ_خطأ_حالة_صحيح)[حالة]
مثال:
النوم في جافا سكريبتPython
n = 7 res = ('Odd' 'Even')[n % 2 == 0] print(res)
الإخراج
Odd
توضيح:
- يتم تقييم الشرط num % 2 == 0 إلى False (الفهرس 0) لذلك يتم تحديد "Odd".
المشغل الثلاثي باستخدام القاموس
أ قاموس يمكن استخدامها لتعيين الشروط للقيم مما يوفر طريقة لاستخدام عامل التشغيل الثلاثي مع شروط أكثر تعقيدًا.
بناء الجملة: condition_dict = {صحيح: value_if_true خطأ: value_if_false}
مثال:
Pythona = 10 b = 20 max = {True: a False: b}[a > b] print(max)
الإخراج
20
توضيح: يستخدم هذا قاموسًا حيث يكون المفتاح صحيحًا أو خطأ بناءً على الشرط a > b. ثم يتم تحديد القيمة المقابلة (أ أو ب).
المشغل الثلاثي باستخدام بايثون لامدا
لامداس يمكن استخدامه مع العامل الثلاثي للمنطق الشرطي المضمّن.
ج ++ واجهة المستخدم الرسومية
بناء الجملة: لامدا 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.
طرق سلسلة جافا
مشغل ثلاثي مع وظيفة الطباعة
يمكن أيضًا استخدام المشغل الثلاثي مباشرةً مع بيان طباعة بايثون . بناء الجملة الخاص به هو s كما يلي:
بناء الجملة: طباعة (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. إذا كان صحيحًا فإنه يطبع "أ أكبر"؛ وإلا فإنه يطبع "ب أكبر".
حدود مشغل بايثون الثلاثي
على الرغم من أن العامل الثلاثي موجز، إلا أنه يجب استخدامه بحذر:
- يمكن أن يقلل من سهولة القراءة في حالة الإفراط في استخدامه أو استخدامه في ظروف معقدة.
- يقتصر على تعبيرات سطر واحد بسيطة.