2011-02-09 12 views
5

यह एक बेवकूफ सवाल हो सकता है लेकिन मुझे समझ में नहीं आता स्ट्रिंग मॉड्यूल में string.uppercase और string.ascii_uppercase के बीच क्या अंतर है। दोनों फ़ंक्शन के डॉकस्ट्रिंग को प्रिंट करना एक ही चीज प्रिंट करता है। यहां तक ​​कि print string.uppercase और print string.ascii_uppercase का आउटपुट भी समान है।पायथन: string.uppercase बनाम string.ascii_uppercase

धन्यवाद।

+0

मैं अभी पाइथन सीख रहा हूं। प्रलेखन पढ़ने के दौरान स्ट्रिंग मॉड्यूल में आया था। – Dharmit

उत्तर

16

देखें: http://docs.python.org/library/string.html

string.ascii_uppercase:

  • बड़े अक्षरों 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'। यह मान लोकेल-निर्भर नहीं है और बदलेगा नहीं।

string.uppercase:

  • सभी वर्णों कि बड़े अक्षरों का माना जाता है वाली एक स्ट्रिंग। अधिकांश प्रणालियों पर यह स्ट्रिंग 'एबीसीडीएफजीएचजेजेकेएलएमएनओपीक्यूआरटीयूवीडब्ल्यूएक्सवाईड' है। विशिष्ट मान लोकेल-निर्भर है, और locale.setlocale() कहा जाता है जब अद्यतन किया जाएगा।
8

ध्यान दें कि पायथन 3.x string.uppercase और string.lowercase और string.letters में वाष्पीकृत है। इसे वैश्विक 'स्थिरांक' रखने के लिए अच्छा अभ्यास नहीं माना जाता था, जब आप लोकेल बदलते थे। (http://docs.python.org/py3k/whatsnew/3.0.html देखें)

तो किसी भी नए कोड के लिए सबसे अच्छी बात यह है कि वे शायद पाइथन 2.x में मौजूद नहीं हैं। इस तरह आप समस्याओं तक जमा नहीं करते हैं तो आप कभी भी

-1

किसी भी भाषा में अपरकेस वर्णों के लिए जाँच करने के लिए, (यानी नहीं अपने खुद के स्थान), regex मॉड्यूल के साथ [:upper:] और regex.UNICODE का उपयोग अजगर 3.x पर जाने की आवश्यकता है ।

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