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

  • Post category:Python

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() 方法根据单词的分隔符将字符串分成单词,并将每个单词的首字母大写。虽然它们看似类似,但是它们的使用场景却不同,我们需要根据实际需求选择使用哪个方法。