iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 24
0

Part1.函數簡介

何謂「函數」(Functions)?

  • 一段「有名字」的程式碼

https://ithelp.ithome.com.tw/upload/images/20191010/20120926zPJSrsseqP.png

為何使用「函數」?

  1. 程式碼重用https://ithelp.ithome.com.tw/upload/images/20191010/20120926uv3RYdQAnr.png

  2. 簡化程式寫作邏輯

https://ithelp.ithome.com.tw/upload/images/20191010/20120926nnWM9QWzaS.png


Part2.函數的定義與叫用

定義一個函數?

https://ithelp.ithome.com.tw/upload/images/20191010/20120926x8UgXcgdQX.png

擺放位置

  • 主程式前方:這樣主程式才知該名稱是一個函數

https://ithelp.ithome.com.tw/upload/images/20191010/20120926IvlRfJGON9.png

函數的測試程式

https://ithelp.ithome.com.tw/upload/images/20191010/20120926yyldHw5NUL.png

  • 使用_name_內建變數

    • 當程式獨立執行時,_name_會被塞入“_main_”

    • 當程式被別人叫用時,_name_會被塞入自記得的檔案名稱,如“SumFunc”

    https://ithelp.ithome.com.tw/upload/images/20191010/2012092612u061hrmj.png

區域變數簡介

  • 如果函數內用了與函數外一樣的變數名稱會怎樣?

https://ithelp.ithome.com.tw/upload/images/20191016/2012092685odBPJOPz.png

區域變數底層機制

  • 任何函數,都保有一塊「獨立記憶體」

  • 只要離開該函數,該函數所屬記憶體,就會「銷燬回收」

https://ithelp.ithome.com.tw/upload/images/20191016/20120926nlS00F8RrM.png

  • 離開該函數,記憶體就會「銷燬回收」的證據

https://ithelp.ithome.com.tw/upload/images/20191016/20120926EjdLcr9J3V.png

區域變數有效範圍

  • 區域變數 = 僅活在函數內的變數

https://ithelp.ithome.com.tw/upload/images/20191016/20120926AImiUAJDYv.png

全域變數有效範圍

  • 全域變數 = 存活在檔案內的變數

https://ithelp.ithome.com.tw/upload/images/20191016/20120926H8ia8SMaK4.png

全域變數的讀取

  • 函數內可否讀取「全域變數」?

https://ithelp.ithome.com.tw/upload/images/20191016/20120926VoT0SBaIwf.png


重點整理

  • 區域變數

    • 定義:生活在函數內的變數

    • 底層機制:函數自行保有記憶體,離開函數記憶體就回收,區域變數消滅

    • 有效範圍:第一次使用~離開函數

  • 全域變數

    • 定義:生活在一個檔案內的變數

    • 有效範圍:第一次使用~離開

    • 讀取全域變數:只要沒有同名變數,直接讀取即可

    • 寫入全域變數:需用 global 指令宣告

    • 注意事項

      • 盡量不要在函數內直接讀寫全域變數

      • 改以將全域變數「傳入」函數後讀取,「傳回」主程式後改寫全域變數


上一篇
Day23-複合資料結構:串列
下一篇
Day25-複合資料結構:字典
系列文
從不懂,到玩上手的Python語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言