函式定義
宣告一個函式時,我們會使用到關鍵字def
,並且需要給定他的參數與執行內容。
def 函式名稱(參數):
函式內容
Example 1
def Hello():
print("Hello World")
在這個例子中,我們宣告了一個函式,名字為Hello
,沒有參數,而程式會執行後會輸出Hello World
。
那麼該怎麼執行這個function呢?
Hello()
#output:
#Hello World
Example 2
在前面的章節中,我們提到了max跟min,他們也是function,分別透過關鍵字return
回傳最大值與最小值。
def add(a,b):
c = a + b
return c
print(add(1,2))
#output:
#3
在上述的例子中我們宣告了一個函式,名稱為add
,而參數為a
,b
,程式內容為c = a + b
,最後會將c
回傳。因此當我們呼叫add(1,2)
時,會有一個3
回傳回來。
Easiest Function
世界上最簡單也是最廢的function,就是如下所示,關鍵字pass
就只是一個占位子用的關鍵字,他不具任何意義。那這種function真的這麼廢嗎?其實也不,一般而言,在開發時,程式設計師會先想好有哪些function要先實作,因此會先將function定義好,而這時pass就派上用場了。這個function只是個空殼,讓程式設計師自己意識到定義了甚麼函式。相似的概念還有OOP裡的abstract function
。
def test():
pass
多個回傳值
在python中,函式可以回傳多個值,例如我們可以寫一個計算平均和中位數的函式
def get_mean_and_median(my_list):
tmp_list = my_list
tmp_list.sort()
median = tmp_list[len(tmp_list)//2]
sum = 0
for item in tmp_list:
sum+=item
mean = sum / len(tmp_list)
return mean,median
list1 = [1,2,3,4,5]
list1_mean, list1_median = get_mean_and_median(list1)