搞不懂返回函数的运行逻辑?
为什么会这样运行
为什么会这样运行
2019-11-20
print("Hello, World!")def f(): print('call f()...') def g(): print('call g()...') return gprint('-----')print('1', f)print('-----')print('2', f())print('-----')print('3', f()())print('-----')x = fprint('4', x)print('-----')print('5', x())print('-----')print('6', x()())print('-----')x = f()print('7', x)print('-----')print('8', x())
你把代码分隔一下,有助于理解。
print('2', f())
之所以会这样输出,是因为 print 在输出时,会先去求解 f() 的运算结果,而 f() 运算的副作用就是在 print 方法之前输出了
call f()...
举报