1. 程式人生 > >Python基礎初始函式

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: 在區域性...內層函式引入外層離他最近的那個變數.