मुझे हाल ही में उन पात्रों के साथ कुछ करना पड़ा है जो \xAB एस्केप सिंटैक्स के साथ लिखे गए थे, और देखा कि विभिन्न पात्रों के लिए एक अलग व्यवहार है:

>>>'\x61'
'a'
>>>'\x10'
'\x10'
>>>print('\x61')
a
>>>print('\x10')

मेरा प्रश्न है: >>> '\x10' क्यों नहीं देता ''?

0
marke 15 जिंदा 2020, 17:12

1 उत्तर

सबसे बढ़िया उत्तर

उनकी एक ही व्याख्या की जाती है। अंतर str.__repr__ द्वारा परिभाषित प्रतिनिधित्व में है, जो जहां संभव हो प्रिंट करने योग्य ASCII वर्णों का उपयोग करना पसंद करता है।

print(x) x.__str__ का उपयोग करता है, x.__repr__ का नहीं, जो केवल स्ट्रिंग को ही लौटाता है, और फिर उस स्ट्रिंग को टर्मिनल पर लिखता है, जिस बिंदु पर यह तय करने के लिए टर्मिनल पर निर्भर है, पायथन नहीं परिणाम कैसे प्रदर्शित करें।

\x10, विशेष रूप से, नियंत्रण वर्ण डीएलई (डेटा लिंक एस्केप) को इंगित करता है, जिसका टर्मिनल के लिए कोई विशेष अर्थ नहीं है, इसलिए इसे आम तौर पर प्रदर्शित नहीं किया जाता है या कुछ मामलों में, कुछ सामान्य प्लेसहोल्डर के साथ दिखाया जाता है जैसे ?

4
chepner 15 जिंदा 2020, 14:15