ما هو خطأ المسافة البادئة؟ كيف تحل خطأ المسافة البادئة في بايثون؟

نشرت: 2021-12-22

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

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

جدول المحتويات

مقدمة موجزة لبايثون

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

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

الآن ، نعلم جميعًا أن محاولة فهم خط اليد غير المقروء أمر صعب ومثير للغضب في كثير من الأحيان. وبالمثل ، فإن الكود غير المقروء وغير المهيكل سهل وبسيط وغير مقبول في عالم البرمجة. هذا هو المكان الذي يأتي فيه مفهوم PEP أو اقتراح تحسين Python لإنقاذ المبرمج. يعد PEP إلى Python Community أقرب إلى مستند Google مشترك لعامة الناس.

إنه تفويض وصفي يتم تحديثه باستمرار والذي يبقي مجتمع برمجة Python على اطلاع شامل بالميزات والتحديثات لتحسين قابلية قراءة الكود. كتبه جويدو فان روسوم وباري وارسو ونيك كوجلان في عام 2001 ، ويشار إلى PEP 8 باسم رمز أسلوب بايثون.

تعلم دورات تطوير البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

ما هي المسافة البادئة؟

من المعروف في المقام الأول أن لغة بايثون هي لغة إجرائية ، وبالتالي ، يتم استخدام المسافة البادئة في بايثون لفصل كود واحد إلى مجموعات يمكن التعرف عليها من عبارات مماثلة وظيفيًا. تستخدم غالبية لغات البرمجة ، بما في ذلك C و C ++ و JAVA ، الأقواس المتعرجة "{}" لتحديد كتلة من التعليمات البرمجية. تمثل Python انحرافًا عن هذا التصميم وتفضل استخدام المسافة البادئة.

النحو من المسافة البادئة

وفقًا للاتفاقيات التي حددتها أخلاقيات المسافات البيضاء PEP 8 ، يجب أن يبدأ كل تكرار جديد (أي كتلة من التعليمات البرمجية) بمسافة بادئة ، ويجب أن تكون نهاية الكود هي السطر الأول الذي لم يتم وضع مسافة بادئة له. الممارسة الشائعة لتنفيذ المسافة البادئة هي أربع مسافات بيضاء أو حرف جدولة واحد ، مع تفضيل المسافات إلى حد كبير على علامات التبويب. ممنوع خلط الفراغات وعلامات التبويب.

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

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

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

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

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

إذا لم تنجح الحلول اليدوية المذكورة أعلاه من أجلك ، وتواجه صعوبة في معرفة المكان الذي فاتتك فيه المسافة البادئة ، فاتبع الخطوات التالية:

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

فوائد المسافة البادئة

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

مساوئ المسافة البادئة

  • إذا كانت الشفرة كبيرة وكانت المسافة البادئة تالفة ، فقد يكون إصلاح أخطاء المسافة البادئة مملاً. هذا هو الحال عادةً عندما يتم نسخ رمز من مصدر عبر الإنترنت أو مستند Word أو ملف PDF.
  • تستخدم لغات البرمجة الشائعة عادةً الأقواس للمسافة البادئة. بالنسبة للمبرمجين الذين بدأوا للتو في استخدام Python ، قد يكون التكيف مع فكرة استخدام المسافات البادئة للمسافات البادئة أمرًا صعبًا.

تلخيص لما سبق

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

إذا كنت مهتمًا بالتعرف على علوم البيانات ، فراجع برنامج IIIT-B & upGrad التنفيذي PG في علوم البيانات الذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، 1 - في 1 مع موجهين في الصناعة ، أكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.

استعد لمهنة المستقبل

التقدم للحصول على ماجستير العلوم في علوم البيانات