str.capitalize() 和 str.title() 之间有什么区别吗?

mys*_*ysl 7 python string title-case methods case-sensitive

str.title()vs有什么区别str.capitalize()吗?我从文档中的理解是,这两种方法都将单词的第一个字母大写,并将其余字母小写。有没有人遇到过它们不能互换使用的情况?

len*_*nik 14

title()改变每个词,但capitalize()只改变句子中的第一个词:

>>> a = 'silly question'
>>> a.title()
'Silly Question'
>>> a.capitalize()
'Silly question'
>>> 
Run Code Online (Sandbox Code Playgroud)


Pep*_*tch 5

是的,有区别。2,其实。

  1. 在 中str.title(),如果单词包含撇号,则撇号后面的字母将大写。
  2. str.title()将句子的每个单词大写,而str.capitalize()将整个字符串的第一个单词大写。

从文档:

str.title()

返回字符串的标题版本,其中单词以大写字符开头,其余字符为小写。

For example:

>>>
>>> 'Hello world'.title()
'Hello World'
Run Code Online (Sandbox Code Playgroud)

该算法使用一个简单的独立于语言的单词定义为连续字母组。该定义在许多情况下都适用,但这意味着收缩和所有格中的撇号形成单词边界,这可能不是预期的结果: