fish初 发表于 2021-7-17 15:47:39

19讲课后作业

本帖最后由 fish初 于 2021-7-17 15:52 编辑

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

看不懂,为什么会回复 baby i love you

qq1151985918 发表于 2021-7-17 16:19:21

你按照顺序走一遍流程就明白了跟 fun3 不搭嘎,fun3 没有动作也没有返回值,只是在函数内有一个局部变量的赋值

Twilight6 发表于 2021-7-17 16:23:04


看看这:

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

fish初 发表于 2021-7-17 17:06:14

请问各位大神:


def fun3(a):
    a = ' 小甲鱼 '
    return a
fun3(b)
print(b)

NameError: name 'b' is not defined
a是形参,b是实参,为什么不打印出‘小甲鱼’?

逃兵 发表于 2021-7-17 17:21:50

fish初 发表于 2021-7-17 17:06
请问各位大神:




b是个变量名
而且你还没定义

return是返回值
global是全局定义

你定义的这个函数也没有默认参数,你得传点东西进去

要调用的话还得赋值给变量

def fun3(a):
    a = ' 小甲鱼 '
    return a
b = fun3(None)
print(b)
页: [1]
查看完整版本: 19讲课后作业