प्रश्न का उत्तर है: PEP-8 एक सिफारिश करना चाहता है और यह तय किया है कि चूंकि रिक्त स्थान अधिक लोकप्रिय हैं, इसलिए यह टैब पर स्थानों की दृढ़ता से अनुशंसा करेगा।
PEP-8 पर नोट्स
PEP-8 कहता है 'इंडेंटेशन स्तर पर 4 रिक्त स्थान का उपयोग करें।'
यह स्पष्ट है कि यह मानक सिफारिश है।
'वास्तव में पुराने कोड के लिए जिसे आप गड़बड़ नहीं करना चाहते हैं, आप 8-स्पेस टैब का उपयोग करना जारी रख सकते हैं।'
यह स्पष्ट है कि टैब का उपयोग किए जाने पर कुछ परिस्थितियां हैं।
'कभी भी टैब और स्पेस को मिक्स न करें।'
यह मिश्रण का एक स्पष्ट निषेध है - मुझे लगता है कि हम सभी इस पर सहमत हैं। पायथन इस और अक्सर चोटों का पता लगा सकता है। -Tt तर्क का उपयोग करने से यह स्पष्ट त्रुटि हो जाती है।
पायथन को इंडेंट करने का सबसे लोकप्रिय तरीका केवल रिक्त स्थान है। दूसरा सबसे लोकप्रिय तरीका केवल टैब के साथ है। '
यह स्पष्ट रूप से बताता है कि दोनों का उपयोग किया जाता है। बस अति स्पष्ट होने के लिए: आपको अभी भी एक ही फ़ाइल में रिक्त स्थान और टैब को कभी नहीं मिलाना चाहिए।
'नई परियोजनाओं के लिए, केवल टैब पर रिक्त स्थान की दृढ़ता से अनुशंसा की जाती है।'
यह एक स्पष्ट सिफारिश है, और एक मजबूत है, लेकिन टैब का निषेध नहीं है।
मुझे PEP-8 में अपने स्वयं के प्रश्न का एक अच्छा जवाब नहीं मिल रहा है। मैं टैब का उपयोग करता हूं, जिसे मैंने अन्य भाषाओं में ऐतिहासिक रूप से उपयोग किया है। अजगर टैब के अनन्य उपयोग के साथ स्रोत को स्वीकार करता है। मेरे लिए यह काफी अच्छा है।
मैंने सोचा कि मैं रिक्त स्थान के साथ काम करूंगा। मेरे संपादक में, मैंने विशेष रूप से रिक्त स्थान का उपयोग करने के लिए एक फ़ाइल प्रकार को कॉन्फ़िगर किया है और अगर मैं टैब दबाता हूं तो यह 4 स्थान सम्मिलित करता है। यदि मैं कई बार टैब दबाता हूं, तो मुझे रिक्त स्थान हटाना होगा! अरे! चार बार टैब के रूप में कई हटाता है! मेरा संपादक यह नहीं बता सकता है कि मैं इंडेंट्स के लिए 4 रिक्त स्थान का उपयोग कर रहा हूं (हालांकि एएन संपादक ऐसा करने में सक्षम हो सकता है) और स्पष्ट रूप से एक समय में रिक्त स्थान को हटाने पर जोर देता है।
जब इसके रीडिंग इंडेंटेशन के लिए पायथन को एन रिक्त स्थान होने पर विचार करने के लिए नहीं कहा जा सकता है? अगर हम 4 स्थानों पर प्रति इंडेंटेशन और 4 स्पेस प्रति टैब पर सहमत हो सकते हैं और पायथन को यह स्वीकार करने की अनुमति देते हैं, तो कोई समस्या नहीं होगी।
हमें समस्याओं के समाधान के लिए जीत हासिल करनी चाहिए।