iT邦幫忙

2021 iThome 鐵人賽

DAY 16
1

前言

  • 函式用於結構化程式,將需要重複用到的功能獨立出來,透過函式的呼叫,傳入資料與回傳處理後的資料。可以減少相同程式碼的出現次數,並且提高可讀性和維護性。

  • 方便團隊共同開發系統,其他人如果想使用這個函式只需要知道輸入輸出就可以了,不需要詳細了解內部的細節。

  • 函式可以接收任何數量與型態的輸入參數,並回傳任何數量與型態的輸出結果

今天要來繼續介紹函式的使用方法!

Function 函式

函式使用

  • *args 和 **kwargs 運算子

    • *args 運算子:當我們需要傳入大量的參數時,如果參數太多會讓可讀性變差,這時就可以用 * 來把參數都整成一組的。


      這個方法會把參數用 tuple 的形式打包

    • **kwargs 運算子:用 dict 的形式來打包,所以一定要使用關鍵字參數(Keyword Argument),才有辦法對應到 dictkeyvalue

  • 函式類型

    • 無回傳值:沒有加上 return 的話只會單純執行函式,但是他還是會回傳一個 None 回到呼叫端,如果有用一個變數來接收這個值的話

    • 有回傳值:在函式內加上 return 會把結果傳回給呼叫端

  • Docstrings:對於 python 而言,程式的可讀性很重要,所以我們可以在函式的開頭加上一個字串來說明這個函式的細節,方便其他人查看時能更快進入狀態。

    • 使用 help() 可以把函式中的 Docstrings 列印出來

  • 區域變數(Local Variable)及全域變數(Global Variable)

區域變數(Local Variable):只在函式內定義的變數稱為區域變數,只有在函式內可以使用,所以在函式外 print 就會出錯,如下圖。

全域變數(Global Variable):只要是同一個 python 的檔案就可以使用


讀取會讀取到全域變數

如果想要在函式內改變全域變數可以使用 global

待續...


上一篇
【Day 15】Function 函式
下一篇
【Day 17】遞迴 Recursion
系列文
宇宙 69 大魔王的 python 世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言