技術問答
技術文章
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
24
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
24
篇
Day24-函數
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-10 21:34:17
862 瀏覽
分享至
Part1.函數簡介
何謂「函數」(Functions)?
一段「有名字」的程式碼
為何使用「函數」?
程式碼重用
簡化程式寫作邏輯
Part2.函數的定義與叫用
定義一個函數?
擺放位置
主程式前方:這樣主程式才知該名稱是一個函數
函數的測試程式
使用_name_內建變數
當程式獨立執行時,_name_會被塞入“_main_”
當程式被別人叫用時,_name_會被塞入自記得的檔案名稱,如“SumFunc”
區域變數簡介
如果函數內用了與函數外一樣的變數名稱會怎樣?
區域變數底層機制
任何函數,都保有一塊「獨立記憶體」
只要離開該函數,該函數所屬記憶體,就會「銷燬回收」
離開該函數,記憶體就會「銷燬回收」的證據
區域變數有效範圍
區域變數 = 僅活在函數內的變數
全域變數有效範圍
全域變數 = 存活在檔案內的變數
全域變數的讀取
函數內可否讀取「全域變數」?
重點整理
區域變數
定義:生活在函數內的變數
底層機制:函數自行保有記憶體,離開函數記憶體就回收,區域變數消滅
有效範圍:第一次使用~離開函數
全域變數
定義:生活在一個檔案內的變數
有效範圍:第一次使用~離開
讀取全域變數:只要沒有同名變數,直接讀取即可
寫入全域變數:需用 global 指令宣告
注意事項
盡量不要在函數內直接讀寫全域變數
改以將全域變數「傳入」函數後讀取,「傳回」主程式後改寫全域變數
留言
追蹤
檢舉
上一篇
Day23-複合資料結構:串列
下一篇
Day25-複合資料結構:字典
系列文
從不懂,到玩上手的Python語言
共
30
篇
目錄
RSS系列文
訂閱系列文
10
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19831
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
誰能證明AI是一場公司的大災難
延續誰能證明ai是場災難
鼎新ERP /SMART 專案成本分析..
Connect-AzureAD 的 powershell 指令
Debian 13 安裝 bind9 後找不到範例檔
MATABASE 多期比較問題請教
在這過快的年代,誰還有辦法去用手寫而不是機器鍵盤敲出全部的程式碼?別再跟我AI,希望能有手寫程式碼的真正執行人告訴我為何
熱門回答
誰能證明AI是一場公司的大災難
鼎新ERP /SMART 專案成本分析..
Connect-AzureAD 的 powershell 指令
Debian 13 安裝 bind9 後找不到範例檔
在這過快的年代,誰還有辦法去用手寫而不是機器鍵盤敲出全部的程式碼?別再跟我AI,希望能有手寫程式碼的真正執行人告訴我為何
熱門文章
好想跟 Discord 聊天就把專案寫好 : Claude Code Channels
用 PowerShell 安裝 Claude Code:從 Git、PATH 到 WSL 一次排好(Windows 實測)
AI網管課 - 怎麼建置10人網路 (概念篇)
如何設計自己的遊戲開發同事
突破API請求限制:我們如何用WebSocket打造低延遲的美股盯盤神器?
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}