جملة التوكيد
نتحقق من نتائج البرنامج خطوةً خطوةً، ثم نبني على ما تحققنا منه.
عندما نبني برنامجًا، نبدأ بقطعة صغيرة ونتحقق من نتيجتها، ثم نضيف إليها قطعة أخرى ونتحقق من جديد. كلما كبر البرنامج، صار تحديد موضع الخطأ أصعب إذا انتظرنا حتى النهاية. لذلك نضع فحصًا قريبًا من كل خطوة، حتى نبني الأجزاء الأكبر على نتائج تحققنا منها.
المقارنة قبل التوكيد
العامل = يعيّن قيمة للمتغير، أما == فيقارن قيمتين: يعيد True إذا تساوتا، وFalse إذا اختلفتا.
تظهر True لأن قيمة المتغير تساوي 60. بدلًا من طباعة نتيجة المقارنة ومراجعتها كل مرة، يمكن أن نكتب فحصًا يوقف البرنامج إذا خالفت النتيجة توقعنا.
جملة التوكيد
وتستعمل جملة التوكيد (assert) التي ترفع خطأ AssertionError إن كانت الجملة خاطئة False؛ وإلا فلا تظهر أي مخرجات (السكوت علامة الرضى).
لاحظ عدم وجود مخرجات للقطعة السابقة؛ لأنها جملة صحيحة (True). في كتل التشغيل في هذا المقرر، تظهر منطقة المخرجات باللون الأخضر إذا نجحت جمل التوكيد كلها وانتهى التشغيل دون مخرجات. هذا مؤشر خاص بالمقرر؛ بايثون نفسها لا تعرض لونًا أو رسالة عند نجاح assert.
ثم لاحظ في المثال التالي الخروج بخطأ بسبب أن العبارة خاطئة:
ويمكن مقارنة قيم المتغيرات أيضًا:
يمكن إضافة رسالة بعد فاصلة لتوضيح التوقع الذي لم يتحقق. الرسالة (نحو: Values are not equal!) إضافية غير لازمة، وتظهر فقط عند فشل التوكيد:
خلاصة
نكتب بعد assert عبارة نتوقع صحتها. إذا كانت صحيحة استمر التنفيذ، وإذا كانت خاطئة ظهر AssertionError. نضيف الفحوص أثناء بناء البرنامج، لنكتشف الخطأ قبل أن نعتمد على نتيجته في خطوات أخرى.