|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- 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())
复制代码
这段代码没怎么看懂 首先 fun3 因为没有return 也没有print 所以可以 基本上属于可以忽略不计 所以 fun2中对于 fun3的调用也是无用的 所以这段代码可以精简为- var = ' Hi '
- def fun1():
- global var
- var = ' Baby '
- return fun2(var)
- def fun2(var):
- var = var + 'I love you'
- return var
- print(fun1())
复制代码
1.不知道我这个理解是否正确
2. fun1中 return fun2() 的意思是否是return调用fun2以后的值?
3. 全局变量 var 只在fun1中改变了 所以 在fun2, fun3 的var的值不变 这个理解是否正确?
4. 为啥输出的是Baby I love you 而不是 I love you baby
请大手子详解 暂时有点迷糊 新手勿喷谢谢
var = ' Hi '
def fun1():
global var
var = ' Baby '
return fun2(var)
def fun2(var):
var = var + 'I love you'
return var
print(fun2(var)) #注意看这个
print(fun1())
print(fun2(var)) #还有这个
>>>Hi I love you
>>>Baby I love you
>>>Baby I love you
其他函数调用的var的值是不是“Baby”取决于fun1有没有调用过,如果没有调用过,那var就没有被重新赋值
|
|