2011-07-27 12 views
5

पायथन में "00" का क्या अर्थ है?पायथन में " 00" क्या है?

  • जब मैं d="\00" आवंटित और print d फोन, कुछ भी स्क्रीन पर प्रदर्शित करता है: इस बारे में अधिक जानने के लिए, मैं निम्नलिखित की कोशिश की।
  • मैंने d को स्ट्रिंग में अंत में और अंत में अतिरिक्त अंतर के साथ असाइन करने का प्रयास किया और फिर d.replace("\00", "") कहा, लेकिन कोई परिणाम स्पष्ट नहीं था।

d.replace("\00","") क्या करता है? क्या यह केवल इस विशेष स्ट्रिंग "\ 00" और इसे खाली स्ट्रिंग के साथ प्रतिस्थापित करेगा?

उत्तर

16

पायथन 2 में, जब कोई संख्या एक अग्रणी शून्य से शुरू होती है, तो इसका मतलब है कि यह ऑक्टल (बेस 8) में है। पायथन 3 ऑक्टल अक्षरों में इसके बजाय 0o से शुरू होता है। 00 विशेष रूप से 0.

\00 में बाइट मान निर्दिष्ट करने का एक तरीका है, 0-255 के बीच की संख्या। यह आमतौर पर एक ऐसे चरित्र का प्रतिनिधित्व करने के लिए प्रयोग किया जाता है जो आपके कीबोर्ड पर नहीं है, या अन्यथा स्ट्रिंग में आसानी से प्रदर्शित नहीं किया जा सकता है। कुछ विशेष पात्रों में गैर-संख्यात्मक "बचने के कोड" भी होते हैं, जैसे \n एक नई लाइन के लिए।

शून्य बाइट को नल बाइट या नल बाइट भी कहा जाता है। मुद्रित होने पर यह कुछ भी प्रदर्शित नहीं करता है - यह शून्य है।

ASCII वर्ण कोड के लिए http://www.ascii.cl/ देखें।

हां, replace अभी भी इसके साथ काम करेगा, इसका प्रदर्शन डिस्प्ले चरित्र के रूप में नहीं है।

इसे कभी-कभी अन्य उद्देश्यों के लिए उपयोग किया जाता है, http://en.wikipedia.org/wiki/Null_character देखें।

+0

तो 'प्रतिस्थापन' क्या करेगा? क्या यह केवल सादे स्ट्रिंग के रूप में "\ 00" का इलाज करेगा; "" से प्रतिस्थापित करने के लिए। –

+1

हां, यह आपके द्वारा निर्दिष्ट स्ट्रिंग के साथ शून्य बाइट को प्रतिस्थापित करेगा, जैसे कि आपने 'ए' या '' (स्पेस) या '\ t' (टैब) को बदल दिया है। – agf

+2

@agf ध्यान दें कि '\ 0' वास्तव में बेस 8 आधार 10 नहीं है। यह नल के लिए कोई फर्क नहीं पड़ता है, लेकिन जैसे ही आप इसे 7 से अधिक किसी भी चरित्र के लिए उपयोग करना शुरू करते हैं, इससे बड़ा अंतर आएगा। – Duncan

9

बैकस्लैश एक संख्या के बाद उस ऑक्टल मान के साथ चरित्र का प्रतिनिधित्व करने के लिए उपयोग किया जाता है। तो आपका \00ASCII NUL का प्रतिनिधित्व करता है।

+0

"ASCII NULL" जैसी कोई चीज़ नहीं है। यह 'एनयूएल 'है। 'NULL' एसक्यूएल पाइथन के' none' के बराबर है। –

संबंधित मुद्दे