الإصلاح: خطأ المسافة البادئة بيثون

Python هي لغة برمجة ناشئة تم إصدارها لأول مرة في عام 1991. تشتهر اللغة بمكتبتها الشاملة الكبيرة وتدعم العديد من نماذج البرمجة مثل الوظيفية والإلزامية والإجرائية والموجهة للكائنات.

خطأ المسافة البادئة بيثون أثناء الترميز

يحدث " خطأ المسافة البادئة: توقع كتلة ذات مسافة بادئة " لجميع أنواع المستخدمين ؛ سواء كانوا مبتدئين أو من ذوي الخبرة. نظرًا لأن Python ترتب كل أكوادها من خلال مسافات بيضاء صحيحة ، إذا كان لديك مسافة بادئة سيئة ، فلن يتم تجميع الشفرة وستظهر لك رسالة خطأ.

وفقًا للاتفاقيات المتبعة في PEP8 ، يجب أن تكون هناك أربع مسافات بيضاء عند الاقتضاء. إنه مثالي لكل مبرمج لاستخدام المسافات البادئة المناسبة حتى تتحسن قابلية قراءة الكود.

ما الذي يسبب خطأ المسافة البادئة في بايثون؟

كما ذكرنا سابقًا ، يحدث هذا الخطأ بشكل أساسي بسبب وجود أخطاء في المسافة أو علامات التبويب في التعليمات البرمجية الخاصة بك. نظرًا لأن Python تستخدم لغة إجرائية ، فقد تواجه هذا الخطأ إذا لم تضع علامات التبويب / المسافات بشكل صحيح. قد يعمل البرنامج بشكل صحيح ولكن إذا وجد المترجم هذا الخطأ ، فستظهر رسالة الخطأ في المنتصف. بعض أسباب الخطأ هي:

  • أنت تستخدم كلا من المسافات وعلامات التبويب في التعليمات البرمجية الخاصة بك. إذا تم استخدام كلاهما بالتبادل ، فلن يتمكن المترجم الفوري من تحديد العنصر الذي يجب استخدامه.
  • لقد وضعت بعض المسافة البادئة خطأ . إذا لم يتم اتباع ممارسة المسافة البادئة ، فسيكون لديك هذا الخطأ حتمًا.
  • لقد نسيت وضع مسافة بادئة للعبارات المركبة مثل "if" و "for" و "while" وما إلى ذلك.
  • لقد نسيت وضع مسافة بادئة للوظائف أو الفئات المحددة بواسطة المستخدم .

الحل 1: التحقق من وجود مسافات / علامات تبويب خاطئة

لا يوجد حل فوري لهذه المشكلة. نظرًا لأن الشفرة ملكك ، يجب عليك المرور عبر كل سطر ومعرفة المكان الذي ارتكبت فيه الخطأ. هناك العديد من الكتل في التعليمات البرمجية فيما يتعلق بالبنية. إذا كانت هناك عبارة "If" ، فيجب أن يكون هناك مسافة بادئة للرمز الذي يتبعها.

هيكل كتلة تصور المسافة البادئة في بايثون

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

مثال المسافة البادئة في بايثون

يتم عرض المسافة البادئة الصحيحة في المثال أعلاه. انظر إلى حلقة "for" للمبتدئين. يجب وضع مسافة بادئة لكل شيء داخل حلقة 'for'. داخل حلقة 'for' ، لدينا عبارة 'if'. داخل بيان "إذا"، كل شيء يجب أن يكون أبعد بادئة.

يمكنك بسهولة التحقق من مكان حدوث خطأ المسافة البادئة عن طريق فحص سجل الأخطاء ورؤية السطر من حيث نشأ الخطأ.

الحل 2: تمكين رموز علامة التبويب / المسافة في المحرر

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

في هذا المثال ، سوف نأخذ Notepad ++ ونرى كيف يمكنك تمكين الرموز. إذا كنت تستخدم برنامجًا آخر لتحرير التعليمات البرمجية ، فيمكنك تمكين الإعداد الخاص به.

  1. اضغط على عرض> إظهار الرمز> إظهار المسافة البيضاء و TABتمكين المسافة البيضاء وعلامة الجدولة في بايثون
  1. الآن تم تمكين الخيار. يمكنك أيضًا تمكين دليل المسافة البادئة حتى تصبح الأمور أسهل بالنسبة لك.
عينة كود بمسافة بادئة صحيحة في بايثون

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