函數嵌套調用------就是一個函數里面又調用了另外一個函數。
基本語法:
# 定義 函數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