Python中str.capitalize()和str.title()的区别
在Python中,str.capitalize() 和 str.title() 这两个方法都可以将字符串的首字母大写,但是它们的实现细节不同,下面我们详细介绍它们之间的区别。
str.capitalize()
str.capitalize() 方法用于将字符串的首字母大写,其返回值为一个新的字符串。如果字符串的首字母本来就是大写的,那么该方法不会产生任何影响。示例代码如下:
str1 = 'hello world'
str2 = str1.capitalize()
print(str2) # 输出:'Hello world'
从上述代码可以看出, str.capitalize() 方法将字符串 “hello world” 的首字母 ‘h’ 转换成了 ‘H’,并将其余字母不变。
str.title()
str.title() 方法用于将字符串中每个单词的首字母都大写,其返回值也是一个新的字符串。不同于 str.capitalize() 方法,str.title() 方法会将字符串中每个单词的首字母都大写。示例代码如下:
str1 = 'hello world'
str2 = str1.title()
print(str2) # 输出:'Hello World'
从上述代码可以看出,str.title() 方法将字符串 “hello world” 中的每个单词的首字母 ‘h’ 和 ‘w’ 都转换成了 ‘H’ 和 ‘W’。
示例说明
示例1
在下面的示例代码中,我们创建了一个字符串 “today is a good day”,并将它分别传递给了 str.capitalize() 和 str.title() 方法进行处理。然后我们将处理后的结果输出到控制台中。示例代码如下:
str1 = 'today is a good day'
str2 = str1.capitalize()
str3 = str1.title()
print(str2) # 输出:'Today is a good day'
print(str3) # 输出:'Today Is A Good Day'
从上述输出结果中可以看出,str.capitalize() 和 str.title() 对字符串 “today is a good day” 的处理结果不同:str.capitalize() 方法仅将首字母 ‘t’ 转换成了 ‘T’,而 str.title() 方法则将每个单词的首字母都转换成了大写字母。
示例2
在下面的示例代码中,我们创建了一个字符串 “hello, world!”,并将它传递给了 str.capitalize() 和 str.title() 方法进行处理。然后我们将处理后的结果输出到控制台中。示例代码如下:
str1 = 'hello, world!'
str2 = str1.capitalize()
str3 = str1.title()
print(str2) # 输出:'Hello, world!'
print(str3) # 输出:'Hello, World!'
从上述输出结果中可以看出,str.capitalize() 方法仅将首字母 ‘h’ 转换成了 ‘H’,而 str.title() 方法则将第一个单词的首字母 ‘h’ 转换成了 ‘H’,同时将第二个单词的首字母 ‘w’ 转换成了 ‘W’。