在使用python時我們常會使用函數,比如說取得長度len()
、最大值max()
等這些都是python的內建函數,可以直接拿來使用,函式基本上就像其他語言的function可直接呼叫,今日主要介紹如何做出自己適用的函數~~
可參考常用函數 裡面記載許多我們叫為常用的函數,其中許多在之前文章中也有範例說明,在查詢內建函數時看到大家比較少提及但又蠻常使用的函數upper()
、lower()
能將字串轉成大寫與小寫,想了解所有的內建函數可參考官方文件.
a = 'ithelp'
b = 'ITHOME'
print(a.upper()) #輸出:ITHELP
print(b.lower()) #輸出:ithome
可以請使用者輸入資料的input('請輸入留言')
,也是蠻實用的內建函數,有興趣的朋友可以試試看!
今天的重頭戲來了,內建函數雖然方便好用但實際需求上還是會有許多不足,這時我們就能自己建立函數來達成我們的需求,也能夠有效縮減程式碼的長度.
需以def
作為宣告的開頭空格後打上函數名稱再加上()
內放置接收變數,並縮排return
加上返回值
def addnum(x, y):
total = x + y
return total
a = 1000
b = 500
print(addnum(a, b))
#輸出:1500
使用自訂函數就得提到所謂的區域變數及全域變數只在區域內出現的變數稱為區域變數以上例來說total即區域變數,離開了addnum函數後就不存在了,全域變數是使用已存在變數如以下範例
def addnum(a, b):
global d #全域變數 d會同步更新addnum函數外的變數d
c = a + b #區域變數 c不等於addnum函數外的變數c
d = a + b
return c
a = 1000
b = 500
c = 20
d = 0
print(d) #輸出:0
print(addnum(a, b)) #輸出:1500
print(c) #輸出:20
print(d) #輸出:1500
在使用自訂函數時名稱最好要能夠看出功能或在函數前加上註解,良好的命名習慣能增加程式的可讀性及可維護性,
在尋找函數時也較為方便.
python還有提供一種用一次的自訂函數宣告方式,不過我認為應該不會很長使用到,稍微介紹一下.
使用lambda
開頭空格放入變參數並用,
區隔參數空格後加上:
後加上敘述動作,如下例
c = lambda a, b : a*b
print(c(10, 50))
#輸出:500
以上就是自訂函數的相關介紹,鐵人賽的挑戰也達到三分之一了,我們從元素學習到了函數接著就是透過函數組成我們想要完成的程式,還有20天我們一起繼續努力.
文章內容如果有錯誤歡迎留言告知,可以幫忙糾正錯誤的觀念,感謝!