|
|
发表于 2018-5-17 17:43:07
|
显示全部楼层
程序从上往下执行
先执行第1行,第1行由 def 开头,是一个函数定义,那么执行这个函数定义,(再一次强调,是函数定义,不是调用)
定义完Fun1时已经到了第5行,第5行空,跳过
执行第6行,定义Fun2
执行完定义,到了12行,跳过
执行第13行,定义Fun3
执行完定义,到了19行,跳过
20行,跳过
执行21行,输出了 "调用Fun3之前"
执行22行,Fun3(0)这是一个函数调用,那么现在暂停当前执行的这个函数(在python中,当前执行的这个函数是main函数?)
去调用Fun3
现在执行到了第14行,输出了 "Fun3 开始"
程序继续向下执行
执行第15行,输出了 "开始调用Fun2"
执行第16行,Fun2(0)是函数调用,暂停当前函数(Fun3)的执行,转去执行Fun2
现在执行到了第7行,输出了 "Fun2 开始"
继续向下执行,执行第8行,输出了 "开始调用Fun1"
执行第9行,函数调用,暂停当前函数(Fun2)的执行,转去执行Fun1
现在执行到了第2行
第2行输出 "Fun1 开始"
第3行输出 0,因为函数Fun2调用函数Fun1时把0,作为参数
第4行输出 "Fun1 结束"
Fun1 执行结束,返回,返回到调用Fun1的下一行
也就是返回到了第10行,输出 "结束调用Fun1"
第11行输出 "Fun2 结束"
Fun2执行结束,返回,返回到调用Fun2的下一行
也就是返回到了第17行,输出 "结束调用Fun2"
第18行输出 "Fun3 结束"
Fun3执行结束,返回,返回到调用Fun3的下一行
也就是返回到了第23行,输出 "调用Fun3之后"
然后继续向下执行,下面没有了,然后python结束了这个程序
程序从上往下执行
如果有函数调用,暂停当前函数的执行,转去执行这个函数,这个函数执行结束,返回来继续向下执行
学python不能深入研究这些
python是属于顶层的一门语言
顶层就意味着封装
封装就意味着不能深入研究这些(你当然可以深入研究这些,但是顶层不是为了让你研究这些而存在的)
如果你非要深入研究这些,欢迎来C/C++版块,
来这里深入学C/C++,深入理解这些,深入底层
附上代码
- def Fun1(a):
- print("Fun1 开始")
- print(a)
- print("Fun1 结束")
- def Fun2(b):
- print("Fun2 开始")
- print("开始调用Fun1")
- Fun1(0)
- print("结束调用Fun1")
- print("Fun2 结束")
- def Fun3(c):
- print("Fun3 开始")
- print("开始调用Fun2")
- Fun2(0)
- print("结束调用Fun2")
- print("Fun3 结束")
- print("调用Fun3之前")
- Fun3(0)
- print("调用Fun3之后")
复制代码 |
|