أسبقية العوامل

4.4 أسبقية العوامل

أهداف التعلم

في نهاية هذا القسم، ينبغي أن تكون قادرًا على:

  • وصف كيفية تأثير الأسبقية على ترتيب العمليات.
  • وصف كيفية تأثير الترابطية على ترتيب العمليات.
  • شرح الغرض من استخدام الأقواس في التعبيرات التي تحتوي على عوامل متعددة.

الأسبقية

عندما يحتوي تعبيرٌ ما على عوامل متعددة، أيُّها يُقيَّم أولاً؟ تُحدد قواعد الأسبقية مستوى أولوية كل عامل. وتُنفَّذ العوامل ذات الأسبقية الأعلى أولاً. مثال: 1 + 2 * 3 هو 7 لأن الضرب له أسبقية على الجمع. ومع ذلك، (1 + 2) * 3 هو 9 لأن الأقواس لها أسبقية على الضرب.

العامل المعنى
() الأقواس
** الأس (ترابطية من اليمين)
*, /, //, % الضرب، القسمة، القسمة السفلية، باقي القسمة
+, - الجمع، الطرح
<, <=, >, >=, ==, != عوامل المقارنة
not

العامل المنطقي not

and

العامل المنطقي and

or

العامل المنطقي or

جدول 4.4 أسبقية العوامل من الأعلى إلى الأدنى.

نقطة تحقق

أسبقية العوامل

مفاهيم تطبيقية

قواعد الأسبقية

أيُّ جزء من كل تعبير يُقيَّم أولاً؟

1.
x ** 2 + 6 / 3
  1. 6 / 3
  2. x ** 2
  3. 2 + 6
2.
not 3 * 5 > 10
  1. 3 * 5
  2. not 3
  3. 5 > 10
3.
z == 5 and x / 8 < 100
  1. 5 and x
  2. x / 8
  3. 8 < 100

الترابطية

ماذا لو كانت للعوامل المتجاورة الأسبقية نفسها؟ تُحدد الترابطية (Associativity) ترتيب العمليات عندما تتساوى الأسبقية. مثال: 8 / 4 * 3 تُقيَّم كـ (8/4) * 3 بدلاً من 8 / (4*3) لأن الضرب والقسمة ترابطية من اليسار. معظم العوامل ترابطية من اليسار ويتم تقييمها من اليسار إلى اليمين. والأس هو الاستثناء الرئيسي (المُشار إليه أعلاه)، إذ إنه ترابطي من اليمين: أي يُقيَّم من اليمين إلى اليسار. مثال: 2 ** 3 ** 4 يُقيَّم كـ 2 ** (3**4).

عندما تكون عوامل المقارنة متسلسلة، يُحوَّل التعبير إلى تركيبة مكافئة من المقارنات ويُقيَّم من اليسار إلى اليمين. مثال: 10 < x <= 20 يُقيَّم كـ 10 < x و x <= 20.

نقطة تحقق

أسبقية العمليات

مفاهيم تطبيقية

الترابطية

كيف يتم تقييم كل تعبير؟

4.
10 + 3 * 2 / 4
  1. 10 + (3 * (2 / 4))
  2. 10 + ((3 * 2) / 4)
  3. (10 + 3) * (2 / 4)
5.
2 * 2 ** 2 ** 3
  1. 2 * ((2 ** 2) ** 3)
  2. 2 * (2 ** (2 ** 3))
  3. ((2*2) ** 2) ** 3
6.
100 < x > 150
  1. 100 < x and x < 150
  2. 100 < x or x > 150
  3. 100 < x and x > 150

فرض الترتيب والوضوح باستخدام الأقواس

قد يصعب تذكر قواعد أسبقية العوامل. والأقواس لا تفرض ترتيبًا مختلفًا للعمليات فحسب، بل تُقلل من الالتباس أيضًا.

نقطة تحقق

استخدام الأقواس

مفاهيم تطبيقية

استخدام الأقواس

7.
بالرجوع إلى المثال أعلاه، لماذا اختلف ترتيب التقييم عمّا أراده المبرمج؟
  1. المساواة لها أسبقية على and.
  2. يتم تقييم جميع العوامل من اليمين إلى اليسار.
  3. الترتيب عشوائي عندما لا تُستخدم الأقواس.
8.
بافتراض أن x = 8 و y = 9، ما هي نتيجة ما يلي؟
x + 3 * y - 5
  1. 30
  2. 44
  3. 94
9.
بافتراض أن x = 8 و y = 9، ما هي نتيجة ما يلي؟
(x+3) * (y-5)
  1. 30
  2. 44
  3. 94

توصيات PEP 8: المسافات حول العوامل

يوصي دليل الأسلوب PEP 8 باستخدام مسافات متسقة حول العوامل لتجنب الفراغات الزائدة والمُربكة.

  • تجنّب المسافات المتعددة والفراغات غير المتساوية حول العوامل ثنائية المعامل.
    تجنب: x= y * 44
    الأفضل: x = y * 44
  • تجنب المسافات مباشرة داخل الأقواس.
    تجنب: x = ( 4 * y )
    الأفضل: x = (4 * y)
  • أحِط العوامل التالية بمسافة واحدة: الإسناد، والإسناد المُركَّب، والمقارنة، والعوامل المنطقية.
    تجنب: x= y<44
    الأفضل: x = y < 44
  • يُستحسن إضافة مسافات حول العوامل ذات الأولوية الأدنى.
    تجنب: x = 5 * z+20
    الأفضل: x = 5*z + 20