इंडेंटेशन पठनीय, रखरखाव योग्य कोड की एक महत्वपूर्ण विशेषता है, लेकिन कुछ भाषाएं इसे लागू करती हैं। पायथन उन कुछ में से एक है।

यदि पायथन निर्धारित करता है कि आपका कोड गलत तरीके से इंडेंट किया गया है, तो आपको अपना कोड चलाते समय "इंडेंटेशन एरर" संदेश दिखाई देगा। लेकिन आप इसे कैसे ठीक करते हैं, और आप इसे भविष्य में कैसे रोकते हैं?

आपको पायथन में इंडेंटेशन एरर क्यों मिलता है?

"इंडेंटेशन एरर: इंडेंटेड ब्लॉक की उम्मीद" त्रुटि कुछ ऐसी है जिसे आप पहली बार पायथन का उपयोग शुरू करते समय देख सकते हैं, खासकर यदि आप किसी अन्य प्रोग्रामिंग भाषा से आए हैं।

पायथन के इंडेंटेशन नियमों की विशिष्टता जटिल हैं, लेकिन वे एक चीज को उबालते हैं: ब्लॉक में इंडेंट कोड। यह कार्यों के लिए जाता है, यदि खंड, और इसी तरह। यहां गलत तरीके से फॉर्मेट किए गए पायथन कोड का एक उदाहरण दिया गया है:

fname = "गौरव"
नाम = "सियाल"

अगर fname == "गौरव" और lname == "सियाल":
प्रिंट ("आप गौरव हैं")
अन्य:
प्रिंट ("आप किसी और हैं")

जब आप उपरोक्त कोड को चलाने का प्रयास करते हैं, तो आपको इस तरह एक संदेश मिलेगा:

 फ़ाइल "tmp.py", पंक्ति 5
प्रिंट ("आप गौरव हैं")
^
अभिस्थापन त्रुटि: किसी अभिस्थापन अवरोध की संभावना

इसके बजाय, आपको ब्लॉक का प्रतिनिधित्व करने वाली दो पंक्तियों की शुरुआत में या तो एक टैब या रिक्त स्थान की एक श्रृंखला जोड़नी चाहिए:

fname = "गौरव"
नाम = "सियाल"

अगर fname == "गौरव" और lname == "सियाल":
प्रिंट ("आप गौरव हैं")
अन्य:
प्रिंट ("आप किसी और हैं")

यदि आप रिक्त स्थान के साथ इंडेंट करते हैं, तो आप वास्तव में अपनी पसंद की किसी भी संख्या का उपयोग कर सकते हैं, जब तक कि आप सुसंगत और स्पष्ट हों। अधिकांश प्रोग्रामर दो, चार या आठ रिक्त स्थान का उपयोग करते हैं।

सही इंडेंटेशन के सामान्य मामले

यहां कुछ उदाहरण दिए गए हैं जिनका आप उल्लेख कर सकते हैं, ताकि आप सुनिश्चित कर सकें कि आप सही ढंग से इंडेंट कर रहे हैं।

अगर बयान

उस ब्लॉक को इंडेंट करें जो a. का अनुसरण करता है अगर बयान:

अगर my_name == "गौरव":
प्रिंट ("मेरा नाम गौरव है")
रिटर्न ट्रू

कार्यों

एक फ़ंक्शन का शरीर एक ब्लॉक है। आपको इस पूरे ब्लॉक को इंडेंट करना चाहिए:

डीईएफ़ मैजिक_नंबर ():
परिणाम = 42
वापसी परिणाम

मैजिक_नंबर प्रिंट करें ()

लूप्स के लिए

इफ स्टेटमेंट की तरह, लूप के लिए बॉडी को से शुरू होने वाली लाइन से एक स्तर अधिक इंडेंट किया जाना चाहिए के लिये कीवर्ड:

मैं के लिए सीमा में (10):
प्रिंट (i)

सुनिश्चित करें कि आपका संपादक सही ढंग से इंडेंट करता है

अधिकांश आधुनिक पाठ संपादक स्वचालित कोड इंडेंटेशन का समर्थन करते हैं। यदि आपका संपादक यह निर्धारित करता है कि कोड की एक पंक्ति को इंडेंट किया जाना चाहिए, तो यह स्वचालित रूप से टैब या रिक्त स्थान जोड़ देगा।

में स्पाइडर, इंडेंटेशन विकल्प के तहत उपलब्ध हैं उपकरण> वरीयताएँ> स्रोत कोड:

यदि आप विम का उपयोग कर रहे हैं, तो आप कर सकते हैं अपना कॉन्फ़िगरेशन संपादित करें और का उपयोग करें ऑटोइंडेंट और इंडेंटेशन को कॉन्फ़िगर करने के लिए संबंधित विकल्प। उदाहरण के लिए, यहां एक सामान्य सेटअप है:

ऑटोइंडेंट सेट करें
विस्तारटैब सेट करें
टैबस्टॉप सेट करें=4
सॉफ्टटैबस्टॉप सेट करें=4
शिफ्टविड्थ सेट करें = 4

यह स्वचालित रूप से चार रिक्त स्थान का उपयोग करके इंडेंट करेगा।

हालांकि, कोई भी संपादक स्वचालित इंडेंटेशन को बुलेटप्रूफ नहीं बना सकता। आपको अभी भी इंडेंटिंग पर ध्यान देना होगा क्योंकि कुछ मामले अस्पष्ट हैं:

इस उदाहरण में, अंतिम वापसी स्टेटमेंट को पहली लाइन पर फंक्शन सिग्नेचर से एक लेवल पर इंडेंट किया जाता है। हालाँकि, यदि आप अपने कर्सर को अंतिम पंक्ति के अंत में रखते हैं और दबाते हैं प्रवेश करना, दो चीजों में से एक हो सकता है। आपका संपादक कर्सर को स्थान दे सकता है:

  1. दो इंडेंट स्तर, "res =..." के साथ संरेखित
  2. एक इंडेंट स्तर, "और:" के साथ संरेखित

आपका संपादक इन दो मामलों के बीच अंतर नहीं कर सकता: आप if/else ब्लॉक में और कोड जोड़ना चाह सकते हैं, या नहीं भी कर सकते हैं।

पायथन की 'अपेक्षित एक इंडेंटेड ब्लॉक' त्रुटि को संभालना

किसी भी अन्य प्रोग्रामिंग भाषा की तरह, पायथन में त्रुटियां एक दैनिक घटना है। इंडेंटेशन के बारे में पायथन के सख्त नियम सोचने के लिए एक नई तरह की त्रुटि जोड़ सकते हैं, लेकिन वे उपयोगी हैं। उचित रूप से इंडेंट किया गया कोड अधिक पठनीय और सभी टीमों में सुसंगत है।

इंडेंटेशन त्रुटि केवल एक ही नहीं है जिससे आपको निपटना होगा। यह सामान्य पायथन त्रुटियों से परिचित होने में मदद करता है ताकि आप जान सकें कि उन्हें कैसे डिबग करना है और उन्हें ठीक करने के लिए क्या करना है।

पायथन "सूची सूचकांक सीमा से बाहर" त्रुटि का क्या अर्थ है?

आगे पढ़िए

साझा करनाकलरवसाझा करनाईमेल

संबंधित विषय

  • प्रोग्रामिंग
  • अजगर

लेखक के बारे में

गौरव सियाल (64 लेख प्रकाशित)

गौरव सियाल के पास डिजिटल मार्केटिंग फर्मों और सॉफ्टवेयर जीवनचक्र दस्तावेजों की एक श्रृंखला के लिए लेखन का दो साल का अनुभव है।

गौरव सियाल की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें