25-Python函式5
摘要:
1.遞迴函式
體現
函式A內部, 繼續呼叫函式A
概念
傳遞
迴歸
注意事項
有傳遞, 一定要有迴歸
否則, 就是無限的迴圈呼叫
案例
求...
1.遞迴函式
體現 函式A內部, 繼續呼叫函式A 概念 傳遞 迴歸 注意事項 有傳遞, 一定要有迴歸 否則, 就是無限的迴圈呼叫 案例 求一個數值的階乘
2.函式作用域
基本概念 變數的作用域 變數的作用範圍 可操作範圍 Python是靜態作用域,也就是說在Python中,變數的作用域源於它在程式碼中的位置; 在不同的位置, 可能有不同的名稱空間 名稱空間 是作用域的體現形式 不同的具體的操作範圍 Python-LEGB L-Local 函式內的名稱空間 作用範圍: 當前整個函式體範圍 E-Enclosing function locals 外部巢狀函式的名稱空間 作用範圍: 閉包函式 G-Global 全域性名稱空間 作用範圍: 當前模組(檔案) B-Builtin 內建模組名稱空間 作用範圍: 所有模組(檔案) 注意 Python中沒有塊級作用域 塊級作用域 程式碼塊中, 比如 if while for 後的程式碼塊 LEGB規則 按照L -> E -> G -> B 的順序進行查詢 基於名稱空間的常見變數型別 區域性變數 在一個函式內部定義的變數; 作用域為函式內部 檢視區域性變數 locals() 全域性變數 在函式外部, 檔案最外層定義的變數 作用域為整個檔案內部 檢視全域性變數 globals() 注意點 訪問原則 從內到外 結構規範 全域性變數 函式定義 使用 修改 後續程式碼 全域性變數和區域性變數重名 獲取 就近原則 修改 global 全域性變數 宣告 l -> e unlocal 命名 全域性變數 g_xxx