鱼C论坛

 找回密码
 立即注册
查看: 2338|回复: 6

课后作业

[复制链接]
发表于 2021-3-25 11:26:32 | 显示全部楼层 |阅读模式

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

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

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())
请教各位大佬,这一段代码最终为什么没有输出小甲鱼 ?
我的理解是,调用fun1这个函数,会renturn fun2(baby);这样就等于是调用fun2(baby),而调用fun2(baby),第一步var = var + 'i love you',此时var变成了baby ilove you ,第二步fun3(var),最后第三步return var。那这边岂不是有两个var,一个等于baby ilove you ,一个等于小甲鱼。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-25 11:27:56 From FishC Mobile | 显示全部楼层
因为fun3.这个函数在本题中,就是一个打酱油的
啥用都没有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-25 14:11:53 | 显示全部楼层
wp231957 发表于 2021-3-25 11:27
因为fun3.这个函数在本题中,就是一个打酱油的
啥用都没有

那请问怎么判断这个fun3会不会起作用呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-25 16:24:41 | 显示全部楼层
zsc123xyz147 发表于 2021-3-25 14:11
那请问怎么判断这个fun3会不会起作用呢

因为fun3没有返回值,return后面的就是函数的返回值,返回值就是函数的执行结果,fun3在fun2中只是走了个过程.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-25 19:16:52 | 显示全部楼层
画个圈圈XZQ 发表于 2021-3-25 16:24
因为fun3没有返回值,return后面的就是函数的返回值,返回值就是函数的执行结果,fun3在fun2中只是走了个过 ...

def fun2():
        def fun3():
                var1 = ' 小甲鱼 '
                return var1
        fun3()
那像这样创建一个函数,我在调用fun2()时,什么都没有出来,就是因为少了return是么
       
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-25 21:49:48 From FishC Mobile | 显示全部楼层
对,调用fun2(),虽然执行了fun3(),但是并没有返回 fun3() 这个值,要在fun3()前面加return才行,小甲鱼下面的return属于fun3()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-26 08:43:33 | 显示全部楼层
画个圈圈XZQ 发表于 2021-3-25 21:49
对,调用fun2(),虽然执行了fun3(),但是并没有返回 fun3() 这个值,要在fun3()前面加return才行,小甲鱼下面的r ...

明白了,感谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-9 15:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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