You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python自定义函数中调用.upper()无法将字符串转大写是何原因?

问题根因

Python中字符串是不可变对象,str.upper()方法不会直接修改原字符串内容,执行后会返回一个全新的、转换为全大写格式的字符串。你的代码里仅调用了name.upper(),没有接收该方法的返回值,最终返回的还是传入的原始小写字符串,因此无法得到大写转换结果。

修复方案

直接返回upper()方法的返回值即可:

def Upper_case(name):
    return name.upper()
    

x=Upper_case('hello')
print(x)

运行上述代码会输出HELLO,符合预期。

如果需要保留中间处理逻辑,也可以先将转换结果赋值给变量,再返回变量:

def Upper_case(name):
    converted_name = name.upper()
    return converted_name
    

x=Upper_case('hello')
print(x)

注意:Python所有内置字符串处理方法(包括lower()、strip()、replace()、title()等)都遵循相同逻辑:不会修改原字符串,所有处理结果都通过方法返回值返回,使用时必须接收返回值才能拿到处理后的内容。

内容的提问来源于stack exchange,提问作者geetansh pardhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 00:48:24