Python中为什么这个将首字母大写的函数会返回None?

如图,
Python中为什么这个将首字母大写的函数会返回None?

3 回复

这个问题我遇到过,是因为直接修改了字符串本身。Python字符串是不可变的,所以像 capitalize() 这样的方法会返回一个新字符串,而不是修改原字符串。

看这个典型错误:

def capitalize_first_letter(text):
    text = text.capitalize()  # 这行没问题
    # 但函数没有return语句!

result = capitalize_first_letter("hello world")
print(result)  # 输出:None

正确做法:确保函数有明确的 return 语句:

def capitalize_first_letter(text):
    return text.capitalize()

# 或者更简洁的lambda形式
capitalize_first_letter = lambda text: text.capitalize()

关键点:Python函数默认返回 None,所以必须显式使用 return 来返回处理后的字符串。

一句话建议:记得在函数里用 return 返回结果。


return name3 …

已解决, 看来在学到函数定义时, 对 return 理解不够深

回到顶部