wgz890813 发表于 2018-3-16 13:48:36

19讲 习题

var = ' Hi '

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

def fun2(var):
    var += 'I love you'
   
    return fun3(var)

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

print(fun1())


我把小甲鱼的答案改动了一下,为什么返回值为None? 而不是 Flase?

BngThea 发表于 2018-3-16 13:50:23

因为你的代码中fun1return的是fun2的返回结果,而fun2的return又是fun3的返回结果
而fun3没有写return,默认返回None

吴阿汤 发表于 2018-3-16 21:20:48

原代码return var,可以直接调用fun3里面的var,按照你的改动则需要有fun3的返回值才能用
所以添加fun3 的返回值,下面是代码:
var = ' Hi '

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

def fun2(var):
    var += 'I love you'
   
    return fun3(var)

def fun3(var):
    var = ' 小甲鱼 '
    return var
print(fun1())

wgz890813 发表于 2018-3-17 04:16:59

吴阿汤 发表于 2018-3-16 21:20
原代码return var,可以直接调用fun3里面的var,按照你的改动则需要有fun3的返回值才能用
所以添加fun3 的返 ...

谢谢 很详细

wgz890813 发表于 2018-3-17 04:19:18

BngThea 发表于 2018-3-16 13:50
因为你的代码中fun1return的是fun2的返回结果,而fun2的return又是fun3的返回结果
而fun3没有写return,默 ...

只定义函数 而没有写return 是否调用函数 返回值均为none?

BngThea 发表于 2018-3-17 08:45:10

wgz890813 发表于 2018-3-17 04:19
只定义函数 而没有写return 是否调用函数 返回值均为none?


页: [1]
查看完整版本: 19讲 习题