Functions 函數

了解 Python 指令的執行與輸出

也許你已經知道,學到現在其實你已經用過很多函數(functions)了。

函數如何運作?​

print() 就是一個函數,他輸出你放在括弧裡的值。在 Python 裡的函數其實就是預先定義好有特定功能的編碼,大部分都會輸出一個數值。函數有括號,在括號裡的物件(object)就是函數應用的對象。

例如 round() 是一個函數將數字四捨五入。我們如果把 96.82 放在 round() 裡,他會輸出97。

# no pec round(96.82)

我們來是另一個函數:len() 輸出物件中的項目數量。

# no pec a_list = [1,5,3,7,2,4,5] len(a_list)

min() 是另外一個函數,輸出一個物件中最小的值。

# no pec a_list = [1,5,3,7,2,4,5] min(a_list)

參數

如果你不確定一個函數怎麼用,你可以把該函數放進 help()help() 本身也是一個函數)。

# no pec help(round)

函數中有參數,不過大部分都是可選的,例如 round(),如果你執行 help(round) 會得到:

有兩個參數在方括號裡。第一個參數(在逗號之前)沒有任何字代表著你可以放任何數值。

第二個參數 ndigits 的意思是四捨五入的位數。例如我們四捨五入 96.82 到小數後一位數(用逗號分開兩個參數):

# no pec round(96.82,1)

練習:排序

help() 來檢查 sorted() 排序函數的功能,別擔心那先你看不懂的解釋或符號。

# no pec help(sorted)

sorted() 是一個排序物件的函數(升序或降序)。試著用 sorted() 排序 a_list

# no pec a_list = [1,5,3,7,2,4,5] None(a_list) a_list = [1,5,3,7,2,4,5] sorted(a_list) Ex().check_function('sorted').has_equal_value() success_msg("Great job!")
擷取第一個元素可使用grocery[0](第零索引)。

接下來我們用 降序(或降冪)來排列 a_list。 降序排列,我們要將 reverse 改成 True

# no pec a_list = [1,5,3,7,2,4,5] sorted(a_list, None) a_list = [1,5,3,7,2,4,5] sorted(a_list, reverse=True) Ex().check_function('sorted').has_equal_value() success_msg("Great job!")
降序序排列,我們要將reverse改成 True。

方法 (Method)

方法 是指 物件(object) 的特定函數。每個物件都有自己特定的方法,例如 列表 的其中一個方法 count()

# no pec a_list = [1,5,3,7,2,4,5] a_list.count(5)

count() 輸出輸出某元素的數量,例如在 a_list 裡有兩個 5 所以返回 2。

只要打一個 點(.) 在每個變量後就可以使用該方法。就像是上面練習的一樣,我們將 count() 應用在 a_list 上寫成:a_list.count() 括弧裡再放入你指定的參數,就會得到該參數在列表中的數目。

index() 是另一個列表的方法,用來輸出該元素的索引號。

# no pec scores = [75,74,68,85,92] scores.index(85)

接下來我們來看看字串的方法,capitalize() 會將第一個字大寫。

# no pec friend = "sophie" friend.capitalize()

請注意每一種類型的物件都有屬於自己的方法,capitalize() 是字串的方法所以列表不能使用。

練習:排序2

在前面的練習我們用 sorted() 函數來排序列表,現在我們來試試直接用列表的預設方法 sort() 再來排序 a_list 一次。

嘗試輸出 a_list 降序排列。

# no pec a_list = [1,5,3,7,2,4,5] a_list.sort(None) print(a_list) a_list = [1,5,3,7,2,4,5] a_list.sort(reverse=True) print(a_list) Ex().check_object('a_list').has_equal_value() success_msg("Great job!")
類似於sorted()函數使用reverse=True參數來降序排列列表。

希望你沒有把兩個排序搞混:一個是函數另一個是列表的方法sorted() 是一個函數,應用的方式是把可以被排序的物件放在參數中;而 sort() 是列表列表特定的方法,只要把列表放在前面中間加一個點就會輸出排序好的列表。

練習:字串方法

上面介紹了列表的方法,現在我們來練習字串的方法。

字串有很多方法,lower() 就是其中一種,他將字符全部小寫輸出。

# no pec secret_code = "E29W1H" secret_code.lower()

現在你有一個列表叫 family_name,試著將他輸出成 “FRANCISCUS” 利用 upper() 方法。

# no pec family_name = "franciscus" family_name_up = family_name.None print(family_name_up) family_name = "franciscus" family_name_up = family_name.upper() print(family_name_up) Ex().check_object('family_name_up').has_equal_value() success_msg("Great job!")
upper() 是一個字串方法,他將所有字符輸出並大寫。試著將它放在字串物件後方。

在這章你學會了函數和方法。接下來我們要進入數據科學核心課程:NumPy。

請告訴我們

請告訴我們您的問題或勘誤建議。
您的意見是我們前進的動力,非常感激!