Python FAQ 001 局部变量 & 全局变量相关问题
本帖最后由 一个账号 于 2020-3-4 19:24 编辑Python FAQ 001 局部变量 & 全局变量
问题
为什么打印出来的是 Baby I love you
var = ' Hi '
def fun1():
global var
var = ' Baby '
return fun2(var)
def fun2(var):
var += 'I love you'
fun3(var)
return var
def fun3(var):
var = ' 小甲鱼 '
print(fun1())
答案:
首先执行 fun1(),将 var 变为全局变量,并把全局变量 var 的值改为 "Baby"。
然后执行 fun2(),将局部变量 var 的值修改为 "Baby I love you"。
接着执行 fun3(),将局部变量 var 的值修改为 "小甲鱼"。
因为 fun3() 没有修改到 fun2() var 的值,所以最后返回 "Baby I love you"。 {:10_275:} 学习了,还是有点绕 接着执行 fun3(),将局部变量 var 的值修改为 "小甲鱼" 时,不是把‘’小甲鱼‘’赋值给var吗?怎么没有说没有修改到fun2()中的var ?
页:
[1]