iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
1
Software Development

糊裡糊塗Python就上手系列 第 12

[2020鐵人賽Day12]糊裡糊塗Python就上手-函數(Function)的應用

今日目標

學習函數(Function)的使用方法,並以實作嘗試將程式代碼優化

What is Function?

比較簡短的說法就是把常重複用到的區塊代碼包裝起來,當需要時只要呼叫就可使用

使用Function有以下好處:

  1. 使代碼更簡化,代碼可讀性提升
  2. 不用再重複寫一堆相同的代碼
  3. 日後修正代碼只需修正此Function區塊
  4. 體驗後更深刻....

使用說明

  1. Function 需以關鍵字 def 開頭,而後面加上函數名稱和小括號「()」,接著加上個冒號「:」
  2. 小括號可以帶入想要的參數值
  3. 內容敘述語句需要縮排為開頭
  4. 內容敘述語句將結束時可以使用 return 回傳值,此處可選擇要不要填寫回傳,若有寫 return 但未有數值則會回傳 None
def function_name(parameters):
   內容敘述語句
   return [value]

簡易說明

每天有一連串的事項,順序分別是「早餐->咖啡->上班->午餐->下午茶->下班」
那若是我不用呼叫的方式,印出三天事項的話,需要寫出以下代碼

print("一天事項說明:")
print("早餐")
print("咖啡")
print("上班")
print("午餐")
print("下午茶")
print("下班")

print("一天事項說明:")
print("早餐")
print("咖啡")
print("上班")
print("午餐")
print("下午茶")
print("下班")

print("一天事項說明:")
print("早餐")
print("咖啡")
print("上班")
print("午餐")
print("下午茶")
print("下班")

那若是寫成Function呢

def day_item():
    print("一天事項說明:")
    print("早餐")
    print("咖啡")
    print("上班")
    print("午餐")
    print("下午茶")
    print("下班")

day_item()
day_item()
day_item()

有無感覺化簡很多,從24行化簡為12行,代碼可讀性也提升許多

實際體驗

設置A,B,C三套餐,並讓使用者輸入所要套餐,在印出相關訊息

def data_item(check_code):
    if(check_code == 'A'):
        return "滷肉飯"
    elif(check_code == 'B'):
        return "火鍋"
    elif(check_code == 'C'):
        return "薯條"
        
input_value =  input("請選擇套餐(A,B,C):")
print("今天我想來點>>>%s" %(data_item(input_value)))

https://ithelp.ithome.com.tw/upload/images/20200927/200913334L3wDEnJkw.png

結論

此篇對沒有程式基礎的新手可能有點抽象,但若是多練習幾次以上的說明,相信還是可以理解的了
讓我們互相一起加油學習!!
/images/emoticon/emoticon13.gif


上一篇
[2020鐵人賽Day11]糊裡糊塗Python就上手-日期時間操作
下一篇
[2020鐵人賽Day13]糊裡糊塗Python就上手-套件模組的使用方法
系列文
糊裡糊塗Python就上手30

尚未有邦友留言

立即登入留言