iT邦幫忙

2022 iThome 鐵人賽

DAY 10
1
自我挑戰組

Python and LINE Bot系列 第 10

[Day10] 函式

  • 分享至 

  • xImage
  •  

About 函式

一.自訂函式

程式中可以將經常重覆使用的功能特定用途的功能單獨寫成獨立的模組稱為函式。

建立函式的語法為:

def 函式名稱 ([參數1, 參數2, 參數3, ...]):
    程式區塊
    [return 回傳值1, 回傳值2, 回傳值3, ...]

參數串列: 傳入函式的所有參數。[參數1, 參數2, 參數3, ...]
回傳值串列: 將函式所有處理的結果回傳給主程式。[return 回傳值1, 回傳值2, 回傳值3, ...]
 
範例 1 :沒有回傳值

def fruits():       #建立名稱為 fruits() 的函式
    print("芭樂")   #顯示「芭樂」

範例 2 :有回傳值

def math(a, b):             #建立名稱為 math() 的函式
    multiplication = a * b  #傳入的兩個參數相乘
    return multiplication   #回傳兩個參數相乘的結果

 
函式為被動功能,函式建立後,必須由主程式呼叫才會執行。
呼叫函式語法 1 :沒有回傳值

函式名稱([參數串列])

呼叫函式語法 2 :有回傳值

[變數] = 函式名稱([參數串列])

範例:

def math(a, b):              #建立名稱為 math() 的函式
    multiplication = a * b   #傳入的兩個參數相乘
    return multiplication    #回傳兩個參數相乘的結果
    
mult = math(3,8)             #執行函式 math,並傳入兩個參數,用變數 mult 接收回傳值
print(mult)                  #顯示的結果為 24

下面為攝氏溫度轉華式溫度的範例:
https://ithelp.ithome.com.tw/upload/images/20220921/20151448ccNONGjVfR.png

函式的組合有:

  1. 沒有傳入參數,也沒有回傳值。
  2. 沒有傳入參數,但有回傳值。
  3. 有傳入參數,但沒有回傳值。
  4. 有傳入參數,也有回傳值。

  

二.變數有效範圍

變數有效範圍分為全域變數區域變數

  • 全域變數:宣告在主程式的變數,可以在主程式及主程式的函式中使用。
  • 區域變數:宣告在函式內的變數,只有在函式內可以使用,主程式無法使用。

全域變數範例:函式內可以使用全域變數
https://ithelp.ithome.com.tw/upload/images/20220925/20151448WoRrrEQtoj.png

區域變數範例:若函式內的區域變數與全域變數同名,函式優先使用區域變數
https://ithelp.ithome.com.tw/upload/images/20220925/20151448hOETRtnlQc.png
    

三.內建函式

Python 針對系統常用的功能已經寫好的函式,稱為內建函式。
例如前面 [Day6]介紹過的 range() 函式,以及上方攝氏溫度轉華氏溫度範例中用到的 float() 函式。

欲解鎖更多內建函式及其功能,請參考以下網址 :D
https://python-doc-tw.github.io/library/functions.html

 

四.import 套件

 Python 有提供內建的套件,可以用 import 命令將套件匯入程式中,第三方所開發的套件也可以使用 import 匯入程式中使用。

import 命令的語法:

■ 匯入整組套件,使用時須寫套件名稱

import 套件名稱
套件名稱.函式名稱

■ 匯入整組套件,使用時不須寫套件名稱

from 套件名稱 import *

■ 匯入套件指定的函式,使用時不須寫套件名稱

from 套件名稱 import 函式1, 函式2, ....

■ 匯入整組套件,並另外取一個名稱

import 套件名稱 as 別名

 

範例:
https://ithelp.ithome.com.tw/upload/images/20220923/20151448pkiDZu6qQb.png

 
 
 
 
  
 

參考資料:Python初學特訓班、https://www.digikey.tw/zh/resources/conversion-calculators/conversion-calculator-temperature


上一篇
[Day9] Dict字典(下)
下一篇
[Day11] Flask 網站應用程式(上)
系列文
Python and LINE Bot30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言