wmy1212 发表于 2021-6-11 11:16:35

关于全局变量和局部变量

本帖最后由 wmy1212 于 2021-6-11 11:18 编辑

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())

请问大家,这里的global是转换成全局变量的意思吗?
这个代码返回的为什么是'Baby I love you'而不是'小甲鱼'?明明有执行到fun3(var)呀~
如果说是因为var被改成了全局变量,那么执行到fun2的时候为什么可以修改var(加了一串字),而执行到fun3的时候就没有修改掉(没改成小甲鱼)?

Twilight6 发表于 2021-6-11 11:23:29

请问大家,这里的global是转换成全局变量的意思吗?

global 是声明变量为全局变量,转换用的不怎么符合感觉哈

关于后面两个问题,可以看下这个帖子~:

[已解决] 關於[第019讲:函数:我的地盘听我的 | 课后测试题及答案]
https://fishc.com.cn/thread-175453-1-1.html
(出处: 鱼C论坛)

帖子里 2L、3L 的回答都可以看看~
页: [1]
查看完整版本: 关于全局变量和局部变量