python在以空格开头的字符串上使用capitalize()

22 投票
3 回答
34191 浏览
提问于 2025-04-17 12:49

我在Python中对一些字符串使用了capitalize方法,其中有一个字符串是以空格开头的:

phrase = ' Lexical Semantics'

phrase.capitalize() 返回的是 ' lexical semantics',而且全都是小写。这是为什么呢?

3 个回答

2

这是因为第一个字符是空格,而不是字母。

3

.capitalize() 这个方法会把字符串的第一个字符变成大写字母... 如果第一个字符是空格的话,那就没什么变化了 :) 其他的字符都会变成小写字母。

47

这是一个列出的行为

返回一个字符串的副本,首字母大写,其余字母小写。

如果第一个字符是空格,空格保持不变,其余部分会变成小写。

如果你想把整个字符串都变成大写,可以看看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'

撰写回答