بايثون والمنطق الشرطي: شرح شامل لمعاملات and وor وnot

1. نظرة عامة على معاملات المنطق في Python

ما هي معاملات المنطق في Python؟

في بايثون، هناك معاملات منطقية مثل and وor وnot تُستخدم للتحقق من عدة شروط في وقت واحد. تعتبر معاملات المنطق أدوات مفيدة للجمع بين الشروط واتخاذ القرارات، وتُستخدم بشكل متكرر في عبارات if وwhile للتحكم في التدفق. ببساطة، يمكن شرح دور هذه المعاملات كالتالي:
  • and: تُعيد True فقط إذا كانت جميع الشروط True.
  • or: تُعيد True إذا كان هناك شرط واحد على الأقل True.
  • not: تعكس القيم، أي تجعل True إلى False والعكس.
فهم هذه المعاملات يمكّنك من كتابة شروط أكثر وضوحًا وبساطة.

مثال أساسي:

if temperature > 20 and humidity < 60:
    print("الطقس مريح")
else:
    print("الطقس غير مريح")
في هذا المثال، يتم عرض “الطقس مريح” فقط إذا تحقق الشرطان معًا: temperature وhumidity. هذه هي فائدة معاملات المنطق في تقييم عدة شروط دفعة واحدة.

2. ما هو معامل and في Python؟

أساسيات معامل and

معامل and يمثل **المنطق التبادلي (AND)**، ويُعيد True فقط عندما تكون جميع الشروط True. يُستخدم بشكل خاص داخل عبارات if للتحقق من عدة شروط في وقت واحد.

مثال عملي:

age = 25
income = 50000

if age >= 18 and income >= 30000:
    print("يمكنك التقديم على القرض")
else:
    print("الشروط غير مستوفاة")
في هذا الكود، يتم التحقق من شرطين معًا: العمر والدخل. الرسالة تُعرض فقط إذا تحقق الشرطان. وهكذا يساعدك and على التحقق من عدة شروط بكفاءة.

التحقق من عدة شروط في وقت واحد

يُعتبر and مفيدًا جدًا عند الحاجة للتحقق من عدة شروط. المثال التالي يوضح فحص حالة الطقس في سطر واحد:
temperature = 22
humidity = 55
wind_speed = 10

if temperature > 20 and humidity < 60 and wind_speed < 15:
    print("الطقس اليوم مريح جدًا")
else:
    print("الطقس ليس جيدًا")
بهذه الطريقة، يمكن كتابة عدة شروط بشكل مبسط وواضح.
年収訴求

3. أمثلة عملية: كتابة عدة شروط في سطر واحد

استخدام and داخل if

كتابة عدة شروط في سطر واحد تزيد من قابلية قراءة الكود. في حال عدم استخدام and، ستضطر إلى كتابة if متداخلة مما يعقد الكود.

مثال if متداخل:

age = 30
income = 60000

if age >= 18:
    if income >= 50000:
        print("يمكنك التقديم على القرض")
    else:
        print("الدخل غير كافٍ")
else:
    print("العمر غير كافٍ")

مثال باستخدام and:

age = 30
income = 60000

if age >= 18 and income >= 50000:
    print("يمكنك التقديم على القرض")
else:
    print("الشروط غير مستوفاة")
كما ترى، استخدام and يجعل الكود أبسط وأكثر وضوحًا.

تبسيط شروط النطاق

يمكن في Python كتابة شروط النطاق دون الحاجة لاستخدام and. على سبيل المثال:
score = 75

if 60 <= score <= 100:
    print("ناجح")
هنا تم التحقق من النطاق بطريقة مختصرة وواضحة.

4. التقييم القصير (Short-Circuit) لمعامل and

آلية التقييم القصير

من خصائص and أنه يستخدم **التقييم القصير**. أي إذا كان الشرط الأول False، فلن يتم تقييم باقي الشروط. هذا يقلل من العمليات غير الضرورية ويحسن الأداء.

مثال:

def condition1():
    print("تقييم الشرط 1...")
    return False

def condition2():
    print("تقييم الشرط 2...")
    return True

if condition1() and condition2():
    print("كلا الشرطين صحيح")
else:
    print("على الأقل شرط واحد خاطئ")
في هذا المثال، عند إرجاع False من الشرط الأول، لن يتم تنفيذ الشرط الثاني. وهذا يوفّر موارد ويزيد الكفاءة.
侍エンジニア塾

5. مقارنة بين and و if المتداخلة

الفرق مع if المتداخلة

if المتداخلة مفيدة أحيانًا، لكنها قد تقلل وضوح الكود. بينما and يسمح بكتابة شروط متعددة في سطر واحد، مما يزيد من البساطة.

مثال if متداخلة:

if condition1():
    if condition2():
        if condition3():
            print("جميع الشروط صحيحة")

مثال باستخدام and:

if condition1() and condition2() and condition3():
    print("جميع الشروط صحيحة")
كما ترى، الكود باستخدام and أوضح وأقصر.

6. تحسين الأداء باستخدام and

تجنب العمليات المكلفة

يمكن استغلال التقييم القصير لمعامل and لتجنب العمليات المكلفة. على سبيل المثال عند التعامل مع الملفات أو قواعد البيانات:

مثال:

def file_exists(file_path):
    return os.path.exists(file_path)

def read_file(file_path):
    print("جاري قراءة الملف...")
    with open(file_path, 'r') as file:
        return file.read()

file_path = "data.txt"

if file_exists(file_path) and read_file(file_path):
    print("تمت قراءة الملف بنجاح")
else:
    print("الملف غير موجود")
بهذا الشكل، إذا لم يكن الملف موجودًا، فلن يتم تنفيذ عملية القراءة المكلفة.

7. الخلاصة

يُعد معامل and أداة مهمة لكتابة شروط مختصرة وفعالة في Python. باستخدام التقييم القصير، يمكن تجنب العمليات غير الضرورية وتحسين الأداء. كما أن مقارنته مع if المتداخلة توضح كيف يزيد and من وضوح الكود.

النقاط الرئيسية

  1. أساسيات and: يُعيد True فقط عندما تكون جميع الشروط صحيحة.
  2. التقييم القصير: إذا كان الشرط الأول خاطئًا، لا يتم تقييم الباقي مما يحسن الأداء.
  3. مقارنة مع if المتداخلة: and يجعل الكود أبسط وأكثر وضوحًا.
  4. تحسين الأداء: يمكن استخدام and لتجنب العمليات المكلفة مثل قراءة الملفات أو الاستعلام من قاعدة البيانات.
في النهاية، يُعتبر and عنصرًا أساسيًا لكتابة كود بايثون أكثر كفاءة ووضوحًا. جرب استخدامه للحصول على كود أكثر احترافية.
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール