详解Python str.capitalize()和str.title()的区别

  • Post category:Python

Python中的字符串,有capitalize()和title()两种方法,这两种方法分别可以将字符串的首字母或每个单词的首字母转化为大写字母。

1. str.capitalize()方法

str.capitalize()方法会将字符串中第一个字符转换为大写字母:

str = "hello world"
print(str.capitalize())  # 输出:Hello world

当原字符串的首字母已经是大写字母时,capitalize()方法不会对字符串做出任何修改,而且其余字符将不会被转换:

str = "Hello world"
print(str.capitalize())  # 输出:Hello world

2. str.title()方法

str.title()方法则会将每个单词的首字母转换为大写:

str = "hello world"
print(str.title())  # 输出:Hello World

与capitalize()方法不同的是,title()方法强制将每个单词的首字母大写,而不管原字符串首字母的大小写情况:

str = "Hello world"
print(str.title())  # 输出:Hello World

案例比较

为了更好地理解两种方法的比较,我们可以通过打印输出的方式分别观察两者的区别:

str1 = "hello world"
print(str1.capitalize())  # 输出:Hello world

str2 = "hello world"
print(str2.title())  # 输出:Hello World

两者的输出结果分别为”Hello world”和”Hello World”,可见capitalize()方法只会将首字母大写,而title()方法会将每个单词的首字母大写。

因此,当需要将字符串的单词首字母全部大写时,使用title()方法即可,当需要将字符串的首字母大写时,则可以使用capitalize()方法。

注意:需要注意的是,这两种方法都不会改变字符串除首字母/单词外的其他字符的大小写状态。