如何在Python函数中不使用返回值修改全局字符串以实现指定输出?
解决方案
只需要在updateString函数内部将name声明为全局变量,再赋值为"cat"即可,修改后的函数代码如下:
def updateString(): '''you can only edit the code inside the function''' global name name = "cat" print(name)
原理说明
- 原代码中函数内部的
name是局部变量,修改它不会影响全局作用域的name。 - 使用
global关键字可以将函数内部的name绑定到全局作用域的变量上,此时对name的赋值会直接修改全局变量的值。 - 调用
updateString()后,全局的name被修改为"cat",最后执行print(name)就会输出"cat",符合需求。
修改后的完整代码运行后输出为:
cat cat
内容的提问来源于stack exchange,提问作者Saran Kumar
相关产品推荐
相关产品推荐

