小文:今天面试又搞砸了?
小 k:怎么了?
小文:又一个大小写转换的题目感觉答错了。
小 k:说来听听。
小文:将”hello world”转换为首字母大写”Hello World”
小 k:你的答案是什么?
小文:用 capitalize 方法啊。
小 k:capitalize 方法只能将第一个单词的首字母大写,你这题目要求是两个单词的首字母都要大写。
小文:刚运行了下代码,还真是这样,有什么办法吗?
小 k:有两个方法可解,一种简单,一种复杂,你听那种?
小文:简单的吧
小 k:那我先讲复杂的。思路是把字符串切割成两个元素的列表,一个元素就是一个单词。
arr = "hello world".split(" ")
把 arr 打印出来的结果是列表:[‘hello’, ‘world’]
再把列表里的元素首字母都转换为大写。
arr[0].capitalize()
arr[1].capitalize()
再用连接符拼接起来,中间加上空格。
new_str = arr[0].capitalize() + ' ' + arr[1].capitalize()
这样就把两个单词的首字母都大写了。
小文:那简单的方法呢?
小 k:用 title() 方法搞定。
"hello world".title()
小文:就这么简单?
小 k:是的,我们来看看 title() 方法的说明。
def title(self): # real signature unknown; restored from __doc__
"""
S.title() -> str
Return a titlecased version of S, i.e. words start with title case
characters, all remaining cased characters have lower case.
"""
return ""
翻译一下,以标题的形式返回字符串,即字符串单词首字母大写,其余字符串小写。
是不是很简单。
小文:学到了,下次面试考这个再也不怕了。