- # 定义嵌套函数
- def func1():
- print('this is func1')
- def func2():
- print('this is func2')
- # 调用 1
- func1()
输出: this is func1
上面没有输出 this is func2, 说明嵌套子函数 func2()没有被调用
原因: 一个函数定义后, 除非通过函数名调用, 要不然始终不会被调用
那如何调用 func2()呢?
- # 调用 2
- func2()
- func1()
输出: this is func1()
this is func2()
Note: 嵌套子函数调用注意缩进!
若是以下测试, 该输出什么呢?
- # 调用 3
- func2()
- print('调用 3')
- func1()
输出: 调用 3
- this is func1()
- this is func2()
解释: 这三行测试代码的执行顺序: print('调用 3')->func1()->func2()所以才会输出上述结果.
一点小收获: python 解释器执行代码时, 先执行顶格 (靠近编辑器最左端) 的代码, 然后再来执行有缩进的代码. 所以就不难理解上述执行顺序了!
来源: http://www.bubuko.com/infodetail-3379244.html