Python 将整个单词大写的函数

Python function that capitalizes entire word

所以我创建了一个 python 函数:

def capitalize(x):
  for a in x:
    a.capitalize()
  print x

capitalize("heey")

应该把参数"heey"变成"HEEY"。但它不起作用。它打印 "heey"。怎么了?

capitalize() 不是就地操作。它不会修改原始字符串,而是 returns 大写版本。您需要将此值保存在变量中。例如下面的代码:

a = "heey"
a.capitalize()
b = a.capitalize()
print("a = " + a)
print("b = " + b)

有输出:

a = heey
b = Heey

此外,如果您要将所有字符设为大写,只需调用 upper(),但如果您绝对想使用 capitalize(),则可以这样做:

def capitalize(x):
    y = ""
    for a in x:
        y += a.capitalize()
    print(y)

capitalize("heey")

输出:

HEEY

这是一个更短的版本,它做同样的事情:

def capitalize(x):
    y = "".join([a.capitalize() for a in x])
    print(y)

这是一个更简单的方法:

def capitalize(x):
  print(x.upper())

capitalize("heey")

输出:

HEEY