recent
أخبار ساخنة

حل مشكلة ظهور الخطأ Unexpected indent في البايثون python

يستخدم python نظام التباعد indentation في بداية السطر لتحديد متى تبدأ كتل التعليمات البرمجية وتنتهي. الأخطاء التي يمكنك الحصول عليها هي:

IndentationError: unexpected indent

ماذا يعني الخطأ Unexpected indent؟

يعني أن المسافة البادئة غير متوقعة. وبمعنى آخر، يحتوي هذا السطر من التعليمات البرمجية على مسافات في البداية أكثر من السطر السابق، ولكن السطر السابق ليس بداية كتلة فرعية subblock (على سبيل المثال، if / while / for statement). يجب أن تبدأ جميع أسطر التعليمات البرمجية في الكتلة block بنفس سلسلة المسافات البيضاء تماماً. على سبيل المثال:

      def a(): 
        print "Hello" 
print(a()) 

IndentationError: unexpected indent

نلاحظ هنا أن الاقتران def(a) وأمر الطباعة print(a()) ليسا على نفس البعد من الحاشية اليسرى للبرنامج.

والشكل التالي يوضضح شكل الخطأ ضمن بيئة المحرر PyCharm



ما سبب ظهور خطأ unexpected indent؟

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

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

author-img
العلم للجميع

تعليقات

ليست هناك تعليقات
إرسال تعليق
    google-playkhamsatmostaqltradent