2012-02-11 9 views
16

के साथ शुरू मैं अजगर में कुछ तारों पर विधि भुनाने और तार में से एक एक स्थान के साथ शुरू होता है उपयोग कर रहा था:अजगर कैपिटल() एक स्ट्रिंग पर अंतरिक्ष

phrase = ' Lexical Semantics' 

phrase.capitalize() रिटर्न 'शाब्दिक अर्थ विज्ञान' सभी लोअर केस में । ऐसा क्यों है?

उत्तर

39

यह listed behaviour है:

वापसी अपनी पहली चरित्र के साथ स्ट्रिंग की एक प्रतिलिपि को कैपिटल में और बाकी लोवरकेस।

पहला चरित्र एक स्थान है, अंतरिक्ष अपरिवर्तित है, शेष कम हो गया है।

यदि आप इसे सभी अपरकेस बनाना चाहते हैं, तो प्रत्येक शब्द के पहले अक्षर के लिए str.upper(), या str.title() देखें।

>>> phrase = 'lexical semantics' 
>>> phrase.capitalize() 
'Lexical semantics' 
>>> phrase.upper() 
'LEXICAL SEMANTICS' 
>>> phrase.title() 
'Lexical Semantics' 

या, यदि यह अंतरिक्ष के साथ सिर्फ एक समस्या है:

>>> phrase = ' lexical semantics' 
>>> phrase.strip().capitalize() 
'Lexical semantics' 
2

ऐसा इसलिए है क्योंकि पहला चरित्र एक स्थान है, एक पत्र नहीं।

2

.capitalize() पहले चरित्र को कैपिटल करता है ... जो एक जगह है :) हर दूसरे चरित्र को कम किया जाता है।

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