1. أساسيات عامل التشغيل or
في بايثون
ما هو عامل التشغيل or
؟
يعتبر عامل التشغيل or
أحد عوامل التشغيل المنطقية في بايثون، ويعيد True
إذا كان أحد الشرطين True
. يعيد False
فقط إذا كان كلا الشرطين False
. يستخدم هذا العامل بشكل خاص عند دمج شروط متعددة، مما يتيح إنشاء تفرعات شرطية موجزة.
الاستخدام الأساسي
يُستخدم عامل التشغيل or
كما يلي. يتم ربط شرطين بواسطة or
، وإذا كان أحد الشرطين True
، فإن النتيجة الإجمالية تكون True
.
a = 5
b = 10
if a > 3 or b < 5:
print("أحد الشرطين صحيح")
else:
print("كلا الشرطين خاطئ")
في هذا المثال، a > 3
هو True
، و b < 5
هو False
. ومع ذلك، نظرًا لاستخدام عامل التشغيل or
، إذا كان أحد الشرطين True
، فإن التقييم الكلي يصبح True
.
خصائص عامل التشغيل or
يمتاز عامل التشغيل or
بخاصية تُعرف بالتقييم القصير الدائرة (Short-circuit evaluation). هذا يعني أنه إذا كان الشرط الأيسر True
، فإن الشرط الأيمن لا يتم تقييمه ويتم تخطيه. يمكن أن يكون هذا مفيدًا لتوفير موارد الحوسبة.
على سبيل المثال، في الكود التالي، نظرًا لأن الشرط الأول True
، فإن b == 10
لن يتم تقييمه.
a = 5
b = 10
if a > 3 or b == 10:
print("تقييم 'a' أكبر من 3، لذا التقييم ينتهي هنا")
2. استخدام جملة if
وعامل التشغيل or
استخدام عامل التشغيل or
مع شروط متعددة
في جملة if
في بايثون، يعتبر عامل التشغيل or
مفيدًا للغاية عند تقييم شروط متعددة. على سبيل المثال، إذا كنت ترغب في تنفيذ إجراء معين عند استيفاء أحد الشروط، فإن استخدام or
يمكن أن يجعل الكود أكثر إيجازًا.
فيما يلي مثال على استخدام عامل التشغيل or
لتحديد الإجراء بناءً على عمر المستخدم:
age = 16
if age < 18 or age > 65:
print("مؤهل للخصم")
else:
print("غير مؤهل للخصم")
في هذا المثال، يتم تطبيق الخصم على المستخدمين الذين تقل أعمارهم عن 18 عامًا أو تزيد عن 65 عامًا. باستخدام or
، يمكنك دمج شرطين ببساطة.
دمج شروط متعددة مع or
حتى مع الشروط الأكثر تعقيدًا، يمكنك استخدام or
لتبسيطها. في المثال التالي، يتم استخدام متغيرات متعددة، ويتم تنفيذ المعالجة إذا كان أحد المتغيرين يطابق الشرط المحدد.
temperature = 35
humidity = 70
if temperature > 30 or humidity > 60:
print("شغل مكيف الهواء")
else:
print("لا حاجة لمكيف الهواء")
في هذه الحالة، إذا تجاوزت درجة الحرارة 30 درجة أو تجاوزت الرطوبة 60%، يتم توجيه أمر بتشغيل مكيف الهواء. بهذه الطريقة، يمكنك استخدام or
لتبسيط القرارات اليومية.
3. تطبيقات عامل التشغيل or
أمثلة على استخدام عامل التشغيل or
خارج جملة if
يمكن استخدام عامل التشغيل or
في مجموعة متنوعة من السياقات، ليس فقط داخل جملة if
. من الأمثلة المفيدة بشكل خاص هي تعيين القيم الافتراضية. يمكن استخدامه للتحقق مما إذا كانت الكائنات مثل القوائم أو القواميس هي None
أو فارغة، وفي هذه الحالة يتم تعيين قيمة افتراضية لها.
def get_list(l=None):
l = l or []
return l
print(get_list()) # النتيجة: []
print(get_list([1, 2, 3])) # النتيجة: [1, 2, 3]
في هذا المثال، يتم تنفيذ معالجة لإرجاع قائمة فارغة عندما تكون القائمة None
. باستخدام عامل التشغيل or
، يمكنك كتابة كود بسيط بدون تفرعات شرطية.
استخدام or
المتعددة
في بعض الأحيان، يتم ربط ثلاثة شروط أو أكثر بواسطة or
. في مثل هذه الحالات، يتم تقييم الشروط من اليسار إلى اليمين، ويتم إرجاع أول قيمة تكون True
.
result = None or "default" or "another"
print(result) # النتيجة: default
في هذا المثال، يتم اعتبار None
الأول False
، وبالتالي يتم إرجاع “default” التالي كنتيجة. بهذه الطريقة، يمكنك استخدام عامل التشغيل or
لتحديد القيمة الأكثر ملاءمة من شروط متعددة.
4. الفرق بين and
و or
الاختلافات الأساسية
كلا العاملين and
و or
هما عاملان منطقيان، ولكن سلوكهما مختلف تمامًا. يعيد عامل التشغيل or
True
إذا كان أي من الشرطين True
، بينما يعيد عامل التشغيل and
True
فقط إذا كان كلا الشرطين True
.
على سبيل المثال، لننظر إلى الكود التالي:
a = True
b = False
if a and b:
print("كلاهما صحيح")
else:
print("أحدهما أو كلاهما خاطئ")
في هذا المثال، على الرغم من أن a
هو True
، إلا أن b
هو False
، لذا فإن النتيجة الإجمالية هي False
، وسيتم تنفيذ جزء else
. بالمقارنة مع عامل التشغيل or
، فإن الاختلاف الرئيسي في and
هو أن كلا الشرطين يجب أن يكونا True
.
أمثلة على الاستخدام مع شروط متعددة
عند استخدام and
و or
معًا، يوصى باستخدام الأقواس لتوضيح الشروط.
temperature = 25
weather = "rainy"
if (temperature > 20 and temperature < 30) or weather == "rainy":
print("خذ مظلة معك")
else:
print("لا حاجة لمظلة")
في هذه الحالة، إذا كانت درجة الحرارة تتراوح بين 20 و 30 درجة مئوية، أو كان الطقس ممطرًا، فسيتم توجيهك لأخذ مظلة. من خلال دمج and
و or
، يمكنك التعبير عن الشروط المعقدة بإيجاز.
5. تحسين أداء عامل التشغيل or
تحسين الأداء من خلال التقييم القصير الدائرة
إحدى أكبر مزايا عامل التشغيل or
هي خاصية “التقييم القصير الدائرة” حيث لا يتم تقييم الشرط الأيمن إذا كان الشرط الأيسر True
. هذا يساعد على تجنب الحسابات غير الضرورية ويزيد من سرعة المعالجة.
على سبيل المثال، في الكود التالي، إذا كانت can_edit()
هي True
، فلن يتم تنفيذ can_publish()
.
def can_edit():
return True
def can_publish():
print("هذه الدالة لن تُستدعى")
return True
if can_edit() or can_publish():
print("يمكن التحرير أو النشر")
في هذا المثال، نظرًا لأن الجانب الأيسر من or
هو True
، فلن يتم استدعاء can_publish()
، ولن تحدث معالجة غير ضرورية. بهذه الطريقة، يعد التفرع الشرطي باستخدام or
تقنية مهمة لكتابة كود فعال.
أمثلة عملية للاستخدام
عند التعامل مع مجموعات بيانات كبيرة أو معالجة شروط متعددة بسرعة، يمكن أن يؤدي الاستفادة من التقييم القصير الدائرة إلى تقليل وقت المعالجة. باستخدام عامل التشغيل or
، يمكنك تجنب المعالجة غير الضرورية وتحقيق كود فعال.

6. الخلاصة
مراجعة عامل التشغيل or
يلعب عامل التشغيل or
دورًا مهمًا للغاية كأساس للعمليات المنطقية في برمجة بايثون. يتميز بإرجاع True
عندما يكون أي من الشروط المتعددة True
، ويستخدم في العديد من السيناريوهات مثل التفرعات الشرطية وتعيين القيم الافتراضية. بالإضافة إلى ذلك، يقوم عامل التشغيل or
بتقييم قصير الدائرة، مما يؤدي أيضًا إلى تحسين الأداء.
جربه في الكود الفعلي
بالإضافة إلى النظرية، نوصي بشدة بتجربة عامل التشغيل or
في بيئة تطوير بايثون فعلية. جرب مجموعة واسعة من الاستخدامات، من الأساسيات إلى التطبيقات المتقدمة، وتحقق من كيفية تنفيذ الكود. من خلال تجربة سلوك التعبيرات الشرطية وكيفية كتابة كود فعال، ستعمق فهمك.