鱼C论坛

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

[已解决]python:求帮解释函数运行顺序,超级超级感谢

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

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

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

x
本帖最后由 大珠提子 于 2020-3-11 23:51 编辑

刚问过之后发现细节处还是有点不懂:
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())
想问下到底是怎样运行的,我真的想不通哎。可以详细一点先进行哪一行结果是什么再进行哪一行吗这样吗?需要这题绕太久了需要傻瓜式解答。
哭了,视频本来看的一知半解。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-11 23:50:51 | 显示全部楼层
var = ' Hi '

def fun1():
    global var
    var = ' Baby '
    return fun2(var)

def fun2(a):
    a += 'I love you'
    fun3(a) # 此处是无用代码
    return a

def fun3(b):
    b = ' 小甲鱼 '

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

使用道具 举报

发表于 2020-3-12 08:05:53 | 显示全部楼层    本楼为最佳答案   
参考:https://fishc.com.cn/thread-158899-1-1.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 08:40:46 | 显示全部楼层
捋一捋:
首先,定义了一个全局变量var,它的值是' Hi ',这时我们定义
fun1,先global var,但因为它后面对var的操作是赋值,所以说,
Python就认为它是局部变量,不动外面的var
而它的返回值是fun2(带参数),也就是说,fun2也可以操作fun1的变量
再将fun1的变量+=
后调用fun3,这个fun3其实是没有用的,因为它没有传入参数,操作的
变量永远是自己的。
最后返回被操作完后的var(a).
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 12:24:07 | 显示全部楼层
比较烧脑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 13:04:08 | 显示全部楼层
qiuyouzhi 发表于 2020-3-12 08:40
捋一捋:
首先,定义了一个全局变量var,它的值是' Hi ',这时我们定义
fun1,先global var,但因为它后面 ...

谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-12 13:04:41 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-27 08:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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