rychair 发表于 2020-11-24 20:41:03

零基础入门学习Python第19讲课后第4题

以下是第4题,我做了一点修改,想看看打印的次序

var = ' Hi '

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

def fun2(var):   
    var += 'I love you'
    fun3(var)
    print(var,var)#这里加了打印两遍var我称为打印任务1
    return var

def fun3(var):
    var = ' 小甲鱼 '
    print(var)   #这里加了一条打印记录,我称为打印任务2
   
print(fun1())#打印任务3

运行后结果如下:
小甲鱼
Baby I love youBaby I love you
Baby I love you

我的问题是为何先打印第二个任务,再是第一个呢?谢谢高手指点。

逃兵 发表于 2020-11-24 20:52:06

在fun2中,先执行的fun3(var),再执行的print(var,var)
def fun2(var):   
    var += 'I love you'
    fun3(var)
    print(var,var)#这里加了打印两遍var我称为打印任务1
    return var
所以先打印的第二个任务,改一下顺序的话就先打印任务1
var = ' Hi '

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

def fun2(var):   
    var += 'I love you'
    print(var,var)#这里加了打印两遍var我称为打印任务1
    fun3(var)
    return var

def fun3(var):
    var = ' 小甲鱼 '
    print(var)   #这里加了一条打印记录,我称为打印任务2
   
print(fun1())#打印任务3
页: [1]
查看完整版本: 零基础入门学习Python第19讲课后第4题