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 理解不够深

