如何使用 upper() 将字符串的第一个字母大写 - PYTHON

How to Make 1st Letter of String Upperase with upper() - PYTHON

我正在尝试更改字符串的首字母,使其变为大写。我知道可以使用 capitalize() 或 title(),但我只是在测试,想知道如何使用 upper() 做同样的事情。我试过的代码出现了错误信息:'TypeError: newS must be a string on line 10'。任何建议将不胜感激!

def uppercase(string):
  string = string.replace(string[0],string[0].upper) 
  return string
print uppercase("hello")

您在调用 upper 时错过了 (),这是一个方法:

def uppercase(string):
  string = string.replace(string[0],string[0].upper(), 1) 
  return string

print(uppercase("hello"))

此外,正如 deceze 指出的那样,基于 replace() 的方法将按原样失败,您可以使用 1 的可选 maxreplace 参数来仅替换第一次出现的情况。

你可能会

def uppercase(string):
  string = string.replace(string[0],string[0].upper(),1) 
  return string
print uppercase("hello")

请注意,有 .upper() 即方法被调用并且 1 限制替换次数,因此 aaa 将变为 Aaa 而不是 AAA。此解决方案假定 string 永远不会为空 str.