513
函式像是打造一個小工廠,將生產流程設計好,在未來只要給原料,便能生產成品。
我們將需要的計算過程設計打包成函式,在未來需要相同計算時,只要調出函式,輸入參數,便能輸出返回數據。
函式寫好後不會執行,只有在調用時,才會運行函數內容。
函式的格式
#def 函式名稱(參數):
# 執行內容...
#製作一個函式,輸入的東西都會冠上 MIT
#寫好函式不會執行
def MIT(product) :
print (product+",MIT")
#調用函式
#調用時才會執行內容
MIT("car")
MIT("camera")
#輸出結果
>>> car,MIT
>>> camera,MIT
回傳值 return
在上面的例子只是簡單的打印內容,但並沒有回傳任何東西。
需要函式做到能回傳內容,才能讓函式更加實用。
情境設定 : 製作一個輸入任何文字進去,會將所有字都變大寫的函式
#沒有回傳的寫法
def word_upper (word) :
print (word.upper())
A = word_upper ("aBc")
print (A)
#輸出結果
>>> ABC #在運行過程中會打印
>>> None #但其實並沒有回傳任何值給A
#return
#有回傳的寫法
def word_upper (word) :
return word.upper()
A = word_upper ("aBc")
print (A)
#輸出結果
>>> ABC #回傳值給了A
#return 也支持回傳多個值
def upper_lower (word) :
return word.upper(),word.lower()
A,B = upper_lower ("aBc")
print (A,B)
#輸出結果
>>> ABC abc
參數
多個已知參數
情境設定 : 兌換外幣與手續費
#能設置多個參數
#台幣與美金匯率為30:1,手續費為50元
#A先生想換100元美金,需要多少新台幣
def bank(USD,rate,fee) :
NTD = USD*30+50
return NTD
A_USD = 100
A_rate = 30
A_fee = 50
#注意輸入時參數要按照順序
print (bank(A_USD,A_rate,A_fee))
#輸出結果
>>> 3050
#關鍵字參數
#在調用時可直接用key = value的方式,就不會有順序的問題
#承接上個範例能這樣寫
A_USD = 100
A_rate = 30
A_fee = 50
#注意輸入時參數要按照順序
print (bank(rate=A_rate,USD=A_USD,fee=A_fee))
#輸出結果
>>> 3050
默認值
有時參數我們可以設定預設值,使用者使用時不一應需要每次都特別輸入參數。
有時參數我們可以設定預設值,使用者使用時不一應需要每次都特別輸入參數。
def meal (steak=1,drink=1) :
print ("牛排{}份,飲料{}杯".format(steak,drink))
#A客人正常分量
A = meal()
#B客人需要加點牛排
B = meal(steak=1.5)
#c客人不喝飲料
C = meal(drink=0)
#輸出結果
>>> 牛排1份,飲料1杯
牛排1.5份,飲料1杯
牛排1份,飲料0杯
Pass
函式內容不能為空,若需要則可在內容裡加pass。
def a_function() :
pass
Python 入門學習系列文章
- PYTHON 基本語法
- PYTHON 資料型態(概念介紹篇)
- PYTHON 資料型態(數字篇)
- PYTHON 資料型態(字串篇)
- PYTHON 資料型態(LIST)
- PYTHON 資料型態(DICT)
- PYTHON 資料型態(BOOLEANS)
- PYTHON 條件判斷算式(IF,ELIF,ELSE)
- PYTHON WHILE 迴圈
- PYTHON FOR 迴圈
- PYTHON DEF 函式
- PYTHON MODULES 模組
