Python str.capitalize() 和 str.title() 的区别
在Python中,字符串类型的两个方法:capitalize()
和 title()
可以将一个字符串的首字母或每个单词的首字母大写。
str.capitalize()
capitalize()
方法将字符串的第一个字母大写,其他字母小写,并返回字符串。示例如下:
str_1 = "hello world"
print(str_1.capitalize()) # 输出:Hello world
str.title()
title()
方法将字符串的每个单词的首字母大写,其他字母小写,并返回字符串。示例如下:
str_2 = "hello world"
print(str_2.title()) # 输出:Hello World
区别
- 两个方法都将字符串中的字母形式变为首字母大写,唯一的区别是
capitalize()
只把第一个字符大写,而title()
则在每个单词的第一个字符上执行相同的操作。 - 如果在字符串中第一个大写字母后面还有其他大写字母,则
capitalize()
方法只将首字符改为大写,而保留其他大写字母不变。比如:
str_3 = "AMERICAN Airlines"
print(str_3.capitalize()) # 输出 American airlines
- 在
title()
中,不仅每个单词的第一个字符大写,如果单词的第一个字符后面还有其他大写字母,它们也将被小写化。比如:
str_4 = "AMERICAN Airlines"
print(str_4.title()) # 输出 American Airlines
总结
capitalize()
和 title()
都是用于将字符串转换为第一个字符或单词的首字母大写的方法,这两个方法的最大不同是,title()
方法根据单词的分隔符将字符串分成单词,并将每个单词的首字母大写。虽然它们看似类似,但是它们的使用场景却不同,我们需要根据实际需求选择使用哪个方法。