鱼C论坛

 找回密码
 立即注册
查看: 2141|回复: 4

[已解决]程序好绕,已晕求解

[复制链接]
发表于 2020-2-23 17:39:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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())
最佳答案
2020-2-23 18:57:53
程序并不绕,只是你学的时候在玩手机

不同函数使用相同的变量var只是告诉你在不同函数中它不是一个对像。只有加了global才是。要好理解改下变量名


红,黑 进。
黑进去无返回
绿返回值

2020223_185450.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-23 18:01:49 | 显示全部楼层
最后一个fun3没有写global语句,所以var不会改变
可以在每个函数的return前加一个print,看var的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-23 18:57:53 | 显示全部楼层    本楼为最佳答案   
程序并不绕,只是你学的时候在玩手机

不同函数使用相同的变量var只是告诉你在不同函数中它不是一个对像。只有加了global才是。要好理解改下变量名


红,黑 进。
黑进去无返回
绿返回值

2020223_185450.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-24 09:16:27 | 显示全部楼层
绞尽脑汁后写出的答案:
var = ' Hi ' 为var赋值为Hi

def fun1(): 定义函数fun1()
    global var 声明在此修改全局变量var
    var = ' Baby ' 修改var
    return fun2(var) 此函数结果为函数fun2()的var(输出fun2(var))

def fun2(var): 定义函数fun2()
    var += 'I love you' 修改var
    fun3(var) 调用函数fun3()
    return var 此函数结果为var(输出var)

def fun3(var): 定义函数fun3()
    var = ' 小甲鱼 ' 定义局部变量var

print(fun1()) 调用函数fun1()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-2-24 19:55:40 | 显示全部楼层
ba21 发表于 2020-2-23 18:57
程序并不绕,只是你学的时候在玩手机

不同函数使用相同的变量var只是告诉你在不同函数中它不是一个对像 ...

辛苦编辑啦,也谢谢你认为我的水平挺好的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 10:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表