Python def 函式

by yenchialu

函式像是打造一個小工廠,將生產流程設計好,在未來只要給原料,便能生產成品。

我們將需要的計算過程設計打包成函式,在未來需要相同計算時,只要調出函式,輸入參數,便能輸出返回數據。


函式寫好後不會執行,只有在調用時,才會運行函數內容。

函式的格式

#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 入門學習系列文章

  1. PYTHON 基本語法
  2. PYTHON 資料型態(概念介紹篇)
  3. PYTHON 資料型態(數字篇)
  4. PYTHON 資料型態(字串篇)
  5. PYTHON 資料型態(LIST)
  6. PYTHON 資料型態(DICT)
  7. PYTHON 資料型態(BOOLEANS)
  8. PYTHON 條件判斷算式(IF,ELIF,ELSE)
  9. PYTHON WHILE 迴圈
  10. PYTHON FOR 迴圈
  11. PYTHON DEF 函式
  12. PYTHON MODULES 模組

You may also like

Leave a Comment