Suche senden
Hochladen
TQC+ 程式語言 Python 05:函式
•
1 gefällt mir
•
1,294 views
neochen2701
Folgen
此教學內容為財團法人中華民國電腦技能基金會策劃,由逢甲大學 林英志 副教授 編著
Weniger lesen
Mehr lesen
Bildung
Melden
Teilen
Melden
Teilen
1 von 43
Empfohlen
TQC+ 程式語言 Python 03:迴圈
TQC+ 程式語言 Python 03:迴圈
neochen2701
TQC+ 程式語言 Python 02:運算式、判斷式
TQC+ 程式語言 Python 02:運算式、判斷式
neochen2701
TQC+ 程式語言 Python 06:串列操作
TQC+ 程式語言 Python 06:串列操作
neochen2701
TQC+ 程式語言 Python 04:進階控制流程
TQC+ 程式語言 Python 04:進階控制流程
neochen2701
TQC+ 程式語言 Python 07:數組、字典、集合
TQC+ 程式語言 Python 07:數組、字典、集合
neochen2701
TQC+ 程式語言 Python 08:字串處理
TQC+ 程式語言 Python 08:字串處理
neochen2701
TQC+ 程式語言 Python 09:檔案處理
TQC+ 程式語言 Python 09:檔案處理
neochen2701
TQC+ 程式語言 Python 01:變數與輸出入
TQC+ 程式語言 Python 01:變數與輸出入
neochen2701
Empfohlen
TQC+ 程式語言 Python 03:迴圈
TQC+ 程式語言 Python 03:迴圈
neochen2701
TQC+ 程式語言 Python 02:運算式、判斷式
TQC+ 程式語言 Python 02:運算式、判斷式
neochen2701
TQC+ 程式語言 Python 06:串列操作
TQC+ 程式語言 Python 06:串列操作
neochen2701
TQC+ 程式語言 Python 04:進階控制流程
TQC+ 程式語言 Python 04:進階控制流程
neochen2701
TQC+ 程式語言 Python 07:數組、字典、集合
TQC+ 程式語言 Python 07:數組、字典、集合
neochen2701
TQC+ 程式語言 Python 08:字串處理
TQC+ 程式語言 Python 08:字串處理
neochen2701
TQC+ 程式語言 Python 09:檔案處理
TQC+ 程式語言 Python 09:檔案處理
neochen2701
TQC+ 程式語言 Python 01:變數與輸出入
TQC+ 程式語言 Python 01:變數與輸出入
neochen2701
例外處理設計
例外處理設計
Chih-Chung Lee
[系列活動] Python爬蟲實戰
[系列活動] Python爬蟲實戰
台灣資料科學年會
09.薪資設計與管理
09.薪資設計與管理
Spring Wang
價值概念與成本意識 實踐大學-K2-1-詹翔霖教授
價值概念與成本意識 實踐大學-K2-1-詹翔霖教授
翔霖 詹
實驗法
實驗法
筱雯 王
[DSC 2016] 系列活動:吳牧恩、林佳緯 / 用 R 輕鬆做交易策略分析及自動下單
[DSC 2016] 系列活動:吳牧恩、林佳緯 / 用 R 輕鬆做交易策略分析及自動下單
台灣資料科學年會
Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練
Joseph Chiang
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
MITSUNARI Shigeo
教育訓練 Training
教育訓練 Training
ChiChi
SPC
SPC
Ying wei (Joe) Chou
工作改善
工作改善
Yung Jui Chen 陳泳睿
Απαντήσεις ερωτήσεων και ασκήσεων του βιβλίου του μαθήματος Αυτοματισμοί και ...
Απαντήσεις ερωτήσεων και ασκήσεων του βιβλίου του μαθήματος Αυτοματισμοί και ...
Theodoros Leftheroudis
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
MITSUNARI Shigeo
10薪酬管理
10薪酬管理
ChiChi
ψηφιακά ηλεκτρονικά κεφ 2
ψηφιακά ηλεκτρονικά κεφ 2
Theodoros Leftheroudis
U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)
Ganbaatar ch
工作教導 On the Job Training
工作教導 On the Job Training
Fast SiC Semiconductor Inc.
HLM! 想聽不懂,很難!-三星統計張偉豪-20140929
HLM! 想聽不懂,很難!-三星統計張偉豪-20140929
Beckett Hsieh
Dsi lec5
Dsi lec5
ggmo86
Лекц 6 - 7
Лекц 6 - 7
Chinzorig Undarmaa
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
czzz1
Foundation of software development 1
Foundation of software development 1
netdbncku
Weitere ähnliche Inhalte
Was ist angesagt?
例外處理設計
例外處理設計
Chih-Chung Lee
[系列活動] Python爬蟲實戰
[系列活動] Python爬蟲實戰
台灣資料科學年會
09.薪資設計與管理
09.薪資設計與管理
Spring Wang
價值概念與成本意識 實踐大學-K2-1-詹翔霖教授
價值概念與成本意識 實踐大學-K2-1-詹翔霖教授
翔霖 詹
實驗法
實驗法
筱雯 王
[DSC 2016] 系列活動:吳牧恩、林佳緯 / 用 R 輕鬆做交易策略分析及自動下單
[DSC 2016] 系列活動:吳牧恩、林佳緯 / 用 R 輕鬆做交易策略分析及自動下單
台灣資料科學年會
Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練
Joseph Chiang
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
MITSUNARI Shigeo
教育訓練 Training
教育訓練 Training
ChiChi
SPC
SPC
Ying wei (Joe) Chou
工作改善
工作改善
Yung Jui Chen 陳泳睿
Απαντήσεις ερωτήσεων και ασκήσεων του βιβλίου του μαθήματος Αυτοματισμοί και ...
Απαντήσεις ερωτήσεων και ασκήσεων του βιβλίου του μαθήματος Αυτοματισμοί και ...
Theodoros Leftheroudis
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
MITSUNARI Shigeo
10薪酬管理
10薪酬管理
ChiChi
ψηφιακά ηλεκτρονικά κεφ 2
ψηφιακά ηλεκτρονικά κεφ 2
Theodoros Leftheroudis
U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)
Ganbaatar ch
工作教導 On the Job Training
工作教導 On the Job Training
Fast SiC Semiconductor Inc.
HLM! 想聽不懂,很難!-三星統計張偉豪-20140929
HLM! 想聽不懂,很難!-三星統計張偉豪-20140929
Beckett Hsieh
Dsi lec5
Dsi lec5
ggmo86
Лекц 6 - 7
Лекц 6 - 7
Chinzorig Undarmaa
Was ist angesagt?
(20)
例外處理設計
例外處理設計
[系列活動] Python爬蟲實戰
[系列活動] Python爬蟲實戰
09.薪資設計與管理
09.薪資設計與管理
價值概念與成本意識 實踐大學-K2-1-詹翔霖教授
價值概念與成本意識 實踐大學-K2-1-詹翔霖教授
實驗法
實驗法
[DSC 2016] 系列活動:吳牧恩、林佳緯 / 用 R 輕鬆做交易策略分析及自動下單
[DSC 2016] 系列活動:吳牧恩、林佳緯 / 用 R 輕鬆做交易策略分析及自動下單
Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
教育訓練 Training
教育訓練 Training
SPC
SPC
工作改善
工作改善
Απαντήσεις ερωτήσεων και ασκήσεων του βιβλίου του μαθήματος Αυτοματισμοί και ...
Απαντήσεις ερωτήσεων και ασκήσεων του βιβλίου του μαθήματος Αυτοματισμοί και ...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
10薪酬管理
10薪酬管理
ψηφιακά ηλεκτρονικά κεφ 2
ψηφιακά ηλεκτρονικά κεφ 2
U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)
工作教導 On the Job Training
工作教導 On the Job Training
HLM! 想聽不懂,很難!-三星統計張偉豪-20140929
HLM! 想聽不懂,很難!-三星統計張偉豪-20140929
Dsi lec5
Dsi lec5
Лекц 6 - 7
Лекц 6 - 7
Ähnlich wie TQC+ 程式語言 Python 05:函式
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
czzz1
Foundation of software development 1
Foundation of software development 1
netdbncku
How to replace linux system call by module
How to replace linux system call by module
YU-CHENG Hsu
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
Chapter2
Chapter2
Fang-Ling Lin
KISSY Editor Design 2
KISSY Editor Design 2
yiming he
注重实效的编程(2)
注重实效的编程(2)
Horky Chen
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)
Max Lai
Java Build Tool course in 2011
Java Build Tool course in 2011
Ching Yi Chan
美团前端架构简介
美团前端架构简介
pan weizeng
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
Andrew Wu
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
Amigo 陳兆祥
kotlin-big-nerd-ranch ch4 function
kotlin-big-nerd-ranch ch4 function
MinHan Hong
Ch3 basic command(2013 ncu-nos_nm)
Ch3 basic command(2013 ncu-nos_nm)
Kir Chou
开源应用日志收集系统
开源应用日志收集系统
klandor
Foundation of software development 2
Foundation of software development 2
netdbncku
Clipper@datacon.2019.tw
Clipper@datacon.2019.tw
Wei-Yu Chen
Flutter 踩雷心得
Flutter 踩雷心得
Weizhong Yang
Se2009 ch8
Se2009 ch8
浒 刘
软件工程 第八章
软件工程 第八章
浒 刘
Ähnlich wie TQC+ 程式語言 Python 05:函式
(20)
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
Foundation of software development 1
Foundation of software development 1
How to replace linux system call by module
How to replace linux system call by module
合久必分,分久必合
合久必分,分久必合
Chapter2
Chapter2
KISSY Editor Design 2
KISSY Editor Design 2
注重实效的编程(2)
注重实效的编程(2)
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)
Java Build Tool course in 2011
Java Build Tool course in 2011
美团前端架构简介
美团前端架构简介
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
kotlin-big-nerd-ranch ch4 function
kotlin-big-nerd-ranch ch4 function
Ch3 basic command(2013 ncu-nos_nm)
Ch3 basic command(2013 ncu-nos_nm)
开源应用日志收集系统
开源应用日志收集系统
Foundation of software development 2
Foundation of software development 2
Clipper@datacon.2019.tw
Clipper@datacon.2019.tw
Flutter 踩雷心得
Flutter 踩雷心得
Se2009 ch8
Se2009 ch8
软件工程 第八章
软件工程 第八章
Mehr von neochen2701
20190923-吳恒毅-精準描述
20190923-吳恒毅-精準描述
neochen2701
201909-1-龔文儀-溝通-觀察
201909-1-龔文儀-溝通-觀察
neochen2701
20191028 -successful cases
20191028 -successful cases
neochen2701
20191021-沈芳玟-影片分鏡稿案例分享
20191021-沈芳玟-影片分鏡稿案例分享
neochen2701
20191014-林金祥-UIUX
20191014-林金祥-UIUX
neochen2701
20190916-高玉璁-角色與溝通技巧工具
20190916-高玉璁-角色與溝通技巧工具
neochen2701
201909-3-葉佩蓉-溝通-書寫
201909-3-葉佩蓉-溝通-書寫
neochen2701
201909-2-林孟穎-溝通-聆聽
201909-2-林孟穎-溝通-聆聽
neochen2701
Tqc+程式語言Python-第0章
Tqc+程式語言Python-第0章
neochen2701
Mehr von neochen2701
(9)
20190923-吳恒毅-精準描述
20190923-吳恒毅-精準描述
201909-1-龔文儀-溝通-觀察
201909-1-龔文儀-溝通-觀察
20191028 -successful cases
20191028 -successful cases
20191021-沈芳玟-影片分鏡稿案例分享
20191021-沈芳玟-影片分鏡稿案例分享
20191014-林金祥-UIUX
20191014-林金祥-UIUX
20190916-高玉璁-角色與溝通技巧工具
20190916-高玉璁-角色與溝通技巧工具
201909-3-葉佩蓉-溝通-書寫
201909-3-葉佩蓉-溝通-書寫
201909-2-林孟穎-溝通-聆聽
201909-2-林孟穎-溝通-聆聽
Tqc+程式語言Python-第0章
Tqc+程式語言Python-第0章
Kürzlich hochgeladen
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
mekosin001123
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
黑客 接单【TG/微信qoqoqdqd】
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
mekosin001123
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
jakepaige317
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
jakepaige317
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
mekosin001123
Kürzlich hochgeladen
(6)
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
TQC+ 程式語言 Python 05:函式
1.
05:函式 2018.1.30 財團法人中華民國電腦技能基金會 策劃 逢甲大學
林英志 老師 編著
2.
主題 • 自訂函式 • 函式參數、變數有效範圍 •
內建函式 • import 套件 • 常用函式 2
3.
函式(Function) • 在稍微大型的程式中,通常會將具有特定功能或經常重 複使用的程式碼,撰寫成獨立的小單元,稱為函式。 • 函式有名稱,需要時可以呼叫該函式執行 3
4.
函式 • 使用函式的程式設計方式有下列好處: • 將大程式切割後由多人撰寫,有利於團隊分工,可縮短程式開 發的時間。 •
可縮短程式的長度,程式碼也可重複使用,當再開發類似功能 的產品時,只需稍微修改即可以套用。 • 程式可讀性高,易於除錯和維護 4
5.
自訂函式 • 建立函式的語法為: • def
函式名稱([ 參數1, 參數2, … ]): • 程式區塊 • [ return 回傳值1, 回傳值2, … ] 5
6.
自訂函式 • 函式建立後並不會執行,必須在程式中呼叫函式才會執 行,呼叫函式的語法為: • [
變數= ] 函式名稱([ 參數串列 ]) 6
7.
參數預設值 • 建立函式時可以為參數設定預設值,呼叫函式時,如果 沒有傳入該參數時,就會使用預設值。 • 參數設定預設值的方法為「參數
= 值」,例如: 7
8.
主題 • 自訂函式 • 函式參數、變數有效範圍 •
內建函式 • import 套件 • 常用函式 8
9.
不定數目參數(1) • 固定的參數數目有時並不方便 • 例如下列的加法函式,難以應用到多個數值相加: •
def add_num(a, b) • return int(a) + int(b) 9
10.
不定數目參數(2) • Python 建立函式時可以讓函式接受沒有預先設定的參數 個數,方法是在參數名稱前加星號「*」,語法為: •
def 函式名稱(*args): • 程式區塊 • Python 會以數組將所有參數存於變數 args 中 10
11.
範例 11
12.
變數有效範圍 • 所謂變數的有效範圍是指能存取該變數的範圍 12
13.
13 變數 全域 定義在函式外的變 數,其有效範圍是 整個 Python 檔案 區域 定義在一個函式中 的變數,有效範圍 是在該函式內
14.
撞名 • 若有相同名稱的全域與區域變數,以區域變數優先 • 區域變數透過關鍵字
global 與全域變數連結 14
15.
函式的參數傳遞方式 • C/C++ 的參數傳遞方式有兩種: •
Pass by value:複製參數的值傳入,原參數內容不會被影響 • Pass by reference:傳入參數的參考位址,會影響原參數內容 15
16.
Python ? • Python
的傳遞方式比較特別,但是觀念上互通 • 不可變更物件(immutable object)代表物件產生後就不可以被 修改 • e.g., boolean, int, float, complex, string, tuple • 可變更物件(mutable object)則是可以被修改 • e.g., list, dict, set • Python 採用的是 “pass by assignment” 16
17.
範例 17 原始字串 未變更
18.
範例 18 原始串列 已變更
19.
注意 19 原始串列 未變更
20.
主題 • 自訂函式 • 函式參數、變數有效範圍 •
內建函式 • import 套件 • 常用函式 20
21.
軍火庫 • Python 有許多內建函式(build-in
function)供我們使用 • e.g., int(), range() 21
22.
內建函式(1) 22
23.
內建函式(2) 23
24.
內建函式(3) • pow(x, y,
z) xy % z • pow(3, 4, 7) # 4 • round(x, y) x 的小數點後 y 位四捨五入 • round(3.1415, 3) # 3.142 • sorted([ ], reverse=True) 由大到小排序 • sorted([3, 1, 7, 5], reverse=True) # [7, 5, 3, 1] 24
25.
主題 • 自訂函式 • 函式參數、變數有效範圍 •
內建函式 • import 套件 • 常用函式 25
26.
import 命令 • Python
為人稱道的優勢之一就是擁有許多內建套件 (package,又稱為 module),也有很多第三方開發功能 強大的套件。 • 內建套件只要使用「import」命令就可匯入 • 第三方套件要先安裝才能使用「import」命令匯入 26
27.
import 命令 • import
命令的語法為: • import 套件名稱 • 通常套件中有許多函式供設計者使用,使用這些函式的 語法為: • 套件名稱.函式名稱 27
28.
import 命令 • 有時候套件的名稱很長: •
例如繪圖表的套件 matplotlib • 折衷辦法是使用另一個語法: • from 套件名稱 import * 28
29.
import 命令 • from
套件名稱 import * • 此種方法雖然方便,卻隱藏著極大風險: • 每一個套件擁有眾多函式,若兩個套件具有相同名稱的函式, 由於未輸入套件名稱,使用函式時可能造成錯誤。 • 為兼顧便利性及安全性,可使用 import 命令的第三種語 法: • from 套件名稱 import 函式1, 函式2, … 29
30.
import 命令 • 另一個選擇是為套件名稱另取一個簡短的別名,語法為: •
import 套件名稱 as 別名 30
31.
Python 模組 • 撰寫與使用
Python 模組有兩步驟: • 建立模組並撰寫程式(.py) • import 使用 31
32.
範例 32
33.
__name__ 屬性 33
34.
主題 • 自訂函式 • 函式參數、變數有效範圍 •
內建函式 • import 套件 • 常用函式 34
35.
Import math 35 函式 描述 fab(x)
以浮點數回傳 x 的絕對值 ceil(x) 回傳大於 x 的最小整數 floor(x) 回傳小於 x 的最大整數 exp(x) 回傳 ex log(x) 回傳 ln(x) log(x, base) 回傳指定基底的對數值 sqrt(x) 回傳 x1/2
36.
Import math 36 函式 描述 sin(x)
回傳以弧度為單位的正弦函數值 asin(x) 回傳以弧度為單位的反正弦函數值 cos(x) 回傳以弧度為單位的餘弦函數值 acos(x) 回傳以弧度為單位的反餘弦函數值 tan(x) 回傳以弧度為單位的正切函數值 degree(x) 將 x 角度從弧度(radian)轉為度數(degree) radian(x) 將 x 角度從度數轉為弧度
37.
import random • 可利用
random 模組來產生「偽」隨機數字(pseudo- random number) • random() # 隨機產生 0 ~ 1 間的亂數 • randint(a, b) # 隨機產生 a ~ b 間的整數,包含 a, b 37
38.
種子數(seed) 38
39.
取後不放回 vs 放回 39
40.
import time 40
41.
PY3-0002 五、次方運算 41
42.
PY3-0002 六、眾數 42
43.
本章結束