Python基礎初始函式
什麼是函式?
函式是對功能或者動作的封裝
函式的語法和定義:
def 函式名(): 函式體 呼叫: 函式名()
關於函式的返回值:
return : 返回
1. 當程式沒寫過return, 不返回任何結果. 如果你非要接收. 接受到的是None
2. 當函式寫return 值, 有一個返回值.
3. 當函式寫了return 值1, 值2, 值3.... 返回多個結果. 多個結果打包成元組
4. 當程式執行到return, 函式結束執行
函式的引數(部分):
小括號表示呼叫, 傳參
1. 什麼是引數: 引數是給函式傳遞的資訊
形參: 在函式宣告的位置寫的變數
1. 位置引數
2. 預設值
3. 動態傳參 *, **
形參: 聚合
位置引數* -> 元組
關鍵字** -> 字典
實參: 打散
列表, 字串, 元素 -> *
字典 -> **
實參: 在函式呼叫的時候給函式傳遞的具體的值
1. 位置引數
2. 關鍵字引數
3. 混合: 位置, 關鍵字
傳參: 把實參給形參的過程
作用域和名稱空間
名稱空間: 用來存放名字(變數, 函式名, 類名, 引入的模組名)的
1. 全域性名稱空間: 我們在py檔案中自己寫的變數, 函式.....
2. 內建名稱空間: 我們python直譯器提供好的一些內建內容(print, input....)
3. 區域性名稱空間: 在我們執行函式的時候.會產生一個區域性名稱空間. 放的是: 函式內部的內容(變數, 函式,類...)
作用域:
1. 全域性作用域: 內建名稱空間+全域性名稱空間
2. 區域性作用域: 區域性名稱空間
globals() 檢視全域性作用域
locals() 檢視當前作用域
nonlocal和global關鍵字
global: 在區域性引入全域性變數
nonlocal: 在區域性...內層函式引入外層離他最近的那個變數.