Python - 修改函数内的输入变量[duplicate]

问题描述 投票:0回答:1

以下代码:

def function(X):
    X.upper()
    if X == 'YES':
        print ('success')
    else:
        print ('fail')
function('yes')

生产:

fail

但是这段代码:

def function2(X):
    Y = X.upper()
    if Y == 'YES':
        print ('success')
    else:
        print ('fail')
function2('yes')

给我:

success

为什么是这样?我希望能够在我的函数中编辑输入变量。有没有比将变量值复制到新变量更有效的方法呢?我正在运行Python 3.7.1。

谢谢!

python python-3.x
1个回答
1
投票

因为"".upper()返回新字符串,所以它不会更改原始字符串。字符串在Python中是不可变的。

© www.soinside.com 2019 - 2024. All rights reserved.