这个问题在这里已有答案:
以下代码:
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。
谢谢!
因为"".upper()
返回新字符串,所以它不会更改原始字符串。字符串在Python中是不可变的。