python--函數

*******************    函數   ******************wKioL1lscc3Ranq_AAD0D2l6sCE889.png

  1. 定義函數
    def關鍵字,依次寫出函數名、括號、括號中的參數和冒號 :
    在縮進塊中編寫函數體,函數的返回值用 return 語句返回。
    def func():
    pass                --pass 佔位符
    return              --返回語句

    #函數在執行過程中一旦遇到return,函數就執行完畢,並將結果返回。
    #函數在執行過程中沒有遇到return時,返回值None.
    [object Object]


    wKiom1lscc6gRn-1AADERvsl4vA506.png

    wKioL1lscc_AaWaFAACzJr6Iy7c454.png

  2. 調用函數
    Python 內置了很多有用的函數,我們可以直接調用:
    abs()            --求絕對值函數
    cmp()           --比較函數
    數據類型轉換函數:
        int(), float(), str(),unicode(),bool()wKioL1lscc2x8a5WAAByRWxHIQk481.png

    wKioL1lscc6y9viEAABkQRd6Ey8210.png

  3. 理解函數名定義函數
    def關鍵字,依次寫出
    函數名與變量名類似,其實就是指向一個函數對象的引用;
    給這個函數起了一個“別名”:函數名賦給一個變量

    wKiom1lsdVzyDstuAAA0SlmXAhY756.png


  4. 空函數
    定義一個什麼事也不做的空函數,可以用 pass 語句;
    pass 可以用來作爲佔位符,還沒想好怎麼寫函數的代碼,就可以先放一個 pass ,讓代碼能運行起來
    def nofunc():
    pass

    wKiom1lscc_AkZyWAACjlGpqm6M977.png

  5. 參數檢查
    調用函數時,如果參數個數不對,Python 解釋器會自動檢查出來,並拋出 TypeError;
    如果參數類型不對,Python 解釋器就無法幫我們檢查。
    數據類型檢查可以用內置函數 isinstance 實現

    wKiom1lscdCgnVKZAAC3rzbz1Yw033.png

    wKioL1lscdChcYtaAACzK-XN_IY004.png

  6. 函數返回值
    函數可以返回多個值嗎?那編寫python程序,思考下:
    定義一個函數func,傳入兩個數字,返回兩個數字的平均值與最大值。
    函數返回值用return關鍵字;
    返回一個 tuple 可以省略括號;
    Python 的函數返回多值其實就是返回一個 tuple函數執行完畢也沒有 return 語句時,自動 return None

    wKioL1lscdGBXlh6AAEZQuwD6ls791.png

    wKiom1lscdKjngKFAAEOqx0HhR4285.png

  7. 函數參數
    默認參數可以降低調用函數的難度。
    定義一函數,計算x值的n次方。那如果計算x平方時只需要傳入x值時怎麼解決?
    ★默認參數注意事項:
    有多個參數時,變化大放前面,變化小的放後面;
    必選參數在前,默認參數在後


    wKioL1lsdnywJDt5AADyWrDhntE176.png

    wKiom1lsdn3w05T0AADywWwbJEA234.png

  8. 默認參數

    # 默認參數,必選參數同時存在函數中存在時,一定要將必選參數放在默認參數前面;
    # 設置默認參數時,把變化大的參數放前面,變化小的參數放後面,變化小的參數可以設置爲默認參數。

    wKioL1lscdKhui-rAAEJfXaudig478.png

    wKiom1lscdPSlwXRAAEVkOidGNQ259.png

    wKiom1lscdTwwVnTAAD3HNxCHdg098.png

  9. 可變參數*args
    - 可變參數就是傳入的參數個數是可變的,可以是 1 個、2 個到任意個,還可以是 0 個。

    # 定義函數時,形參可以爲*args,使函數可以接收多個參數,接收的數據類型爲元組;
    # 如果想將一個列表或者元組傳入函數,也可通過*li 或 *t,將參數傳入函數裏。

  10. 關鍵字參數**kwargs
    關鍵字參數允許你傳入 0 個或任意個含參數名的參數;
    這些關鍵字參數在函數內部自動組裝爲一個 dict;
    關鍵字參數用**kwargs


  11. 參數組合
    參數組合是指可以必選參數、 默認參數、 可變參數和關鍵字參數一起使用。
    參數定義的順序必須是:必選參數、 默認參數、可變參數和關鍵字參數。


  12. 參數總結

    必選參數 > 默認參數 > 可變參數(*args)元組 > 關鍵字參數(**kwargs)字典
    1).必選參數
    2).默認參數:默認參數一定要用不可變對象
    3).可變參數:*args 是可變參數,args 接收的是一個元組 tuple
    4).關鍵字參數:**kwargs 是關鍵字參數,kw args接收的是一個字典dict
    對於任意函數,都可以通過類似 func(*args, **kwargs) 的形式調用它


  13. 變量的作用域
    局部變量:只能在函數內部使用的變量
    全局變量:在整個程序中使用的變量
    global關鍵字:強制將局部變量轉換爲全局變量

    wKioL1lscdTQlKwWAACblvRTQvI094.png



    wKioL1lsdsijJSr9AACtdxZV4_g290.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章