函数嵌套调用------就是一个函数里面又调用了另外一个函数。
基本语法:
# 定义 函数B def funcB():print('这是funcB函数的函数体部分...')# 定义 函数A def funcA():print('-' * 80) # 这一行为了更好区分print('这是funcA函数的函数体部分...')# 假设我们在调用funcA函数时,需要使用到funcB的相关功能,则可以嵌套到funcA方法中# 调用 函数BfuncB()print('-' * 80) # 这一行为了更好区分# 调用 函数A funcA()
图示:
解析:
嵌套函数的执行流程:
首先明确:Python代码执行顺序:从上往下,从左往右一行一行执行
当代码执行到 第 1 行时,则在计算机内存中定义一个 函数B。
----这里没有调用,也没有return返回什么,没有真正的执行,跳过继续向下运行。
当代码执行到 第 6 行时,则在计算机内存中定义一个 函数A。
----这里没有调用,也没有return返回什么,没有真正的执行,跳过继续向下运行。
当代码执行到 第 15 行时,调用了 函数A。
----这里,返回 第 6 行,开始 进入函数A,一步步执行
代码在 第 7 行 先输出80个横杠,打印 这是funcA函数的函数体部分...
然后在 第 11 行 调用 函数B ,开始 进入 第 2 行 函数B,一步步执行
在 第 3 行 输出 这是funcB函数的函数体部分...
结束后,再返回去。 注意:哪里来的,回哪里去!!-------回的是:之前 第 11行 调用函数B的位置
在 第 12 行 继续执行 输出80个横杠
函数A 的内容全部执行完毕。注意:哪里来的,回哪里去!!-------回的是:之前 第 15 行 调用函数A的位置
函数A 调用结束,后面也没有其他要调用的
整体结束
注释:从上往下执行到 第 11 行时候,----这里 没有调用函数B 为什么有调用 函数B,不调用呢?不是说从上往下吗?
首先明确一点: 这里的 调用函数B ,是放在 函数A 里面, 需要先有个调用 函数A 的,才能进而一步步执行,触发 调用 函数B