web-dev-qa-db-ja.com

python capitalize()スペースで始まる文字列

Python=の一部の文字列でCapitalizeメソッドを使用しており、文字列の1つがスペースで始まっています:

_phrase = ' Lexical Semantics'
_

phrase.capitalize()は、「字句セマンティクス」をすべて小文字で返します。何故ですか?

22
NLPer

これは リストされた動作 です:

最初の文字を大文字にし、残りを小文字にした文字列のコピーを返します。

最初の文字はスペースで、スペースは変更されず、残りは小文字です。

すべて大文字にする場合は、すべての単語の最初の文字について、 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'
46
Gareth Latty

.capitalize()は最初の文字を大文字にします...これはスペースです:)他のすべての文字は小文字になります。

3
Joe

これは、最初の文字が文字ではなくスペースだからです。

2
Daniel A. White