第一题:
def func1():
print('in func1') #直接输出 in func1
def func2():
print('in func2') # 输出 in func2
ret = func1
ret() #func1() 第一次调用
ret1 = func2
ret1() #func2() 第二次调用
ret2 = ret
ret3 = ret2
ret2() #func1 可以被多次调用 第三次调用
ret3() #func1 可以被多次调用 第四次调用
输出结果:
n func1
in func2
in func1
in func1
第二题
def func1():
print('in func1') #打印 in func1
def func2():
print('in func2') #打印 in func2 2
def func3(x, y):
x() #func2
print('in func3') # 打印 in func3 3
y() #func1
print(111) #输出 111 1
func3(func2, func1) #调用 func3 函数 #这里添加一步 如果有 print 的话就返回 None 这样子 func3 只是储存起来
print(222) # 222 5
# 答案
111
in func2
in func3
in func1
222
第三题
def func1():
print('in func1') #输出 in func1 2 #输出 in func1 5
def func2(x): # x 是 func1
print('in func2') #输出 in func2 1 #输出 in func2 4
return x
def func3(y): #y 是 func2
print('in func3') #输出 in func3 3
return y
ret = func2(func1) #调用 func2
ret() # 调用func1
ret2 = func3(func2) #调用 func3 ret2 是 func2
ret3 = ret2(func1) #再次调用 func2
ret3() #再次调用 func1
输出结果
in func2
in func1
in func3
in func2
in func1
第四题
def func(arg): #arg = msg
return arg.replace('苍老师', '') # Alex 的女朋友和大家都是好朋友
def run():
msg = "Alex的女朋友苍老师和大家都是好朋友"
result = func(msg) #调用 func 函数
print(result) # Alex 的女朋友***和大家都是好朋友 1
run() #调用 run函数
data = run() # Alex 的女朋友***和大家都是好朋友 2 又调用了一次
print(data)
# None