6.1. 函數 (function)


函數(或稱函式)是一個有名稱且功能獨立的程式碼區塊,函數可以輸入們任何類型及數量的參數,並且函數會回傳任何類型及數量的回傳值。對一個函數可以做兩件事:

  • 定義它
  • 呼叫它

定義函數

def 函數名稱(參數):
    執行此處的程式碼

首先,定義一個沒有輸入參數及回傳值的函數。

# 定義函數
def say_hello():
    print('Hello!')


# 主要程式碼
# 呼叫函數
say_hello()


# 執行結果
Hello!

接者,修改上述函數為有一個輸入參數及設定其預設值,但是沒有回傳值的函數。在使用這個函數時,當使用者沒有輸入參數時,則該函數會使用參數的預設值。

# 定義函數
def say_hello_to(name='Everyone'):
    print('Hello ' + name + '!')


# 主要程式碼
# 呼叫函數
say_hello_to('Girl')
say_hello_to('Sir')
say_hello_to()


# 執行結果
Hello Girl!
Hello Sir!
Hello Everyone!

此外,也可以定義一個函數有回傳值,使用 return 關鍵字來回傳數值或資料等。None 關鍵字在下列程式碼為一個回傳值,表示回傳一個「 沒有」值的意思。

# 定義函數
def say_hello_to(name='Everyone'):
    print('Hello ' + name + '!')

    return None


# 主要程式碼
# 呼叫函數
a = say_hello_to('Girl')
print(a)


# 執行結果
Hello Girl!
None

關於回傳值的另一個例子是先前常被使用的 len(),當我們對一個串列使用 len() 時,len() 會回傳一個整數來表示在此串列中有多少個資料。

>>> l = list(range(1, 6))
>>> l
[1, 2, 3, 4, 5]

>>> len(l)
5

程式說明

當參與一個團隊一起執行程式專案時,有時候別人會使用到你所寫的函數或檔案,此時如果可以在函數中加入程式說明的敘述,則可以幫助別人快速理解此函數或檔案的作用,包含輸入參數、函數用途、回傳值及使用範例等。

# 定義函數
def say_hello_to(name='Everyone'):
    """ Say hello to a target.

    This function is getting a input parameter from a user
    to decide a target who is going to say hello to.

    Args:
        name (str): target's name. Default to 'Everyone'.

    Returns:
        No return value

    Examples:
        >>> say_hello_to('Sir')
        Hello Sir!

        >>> say_hello_to()
        Hello Everyone!
    """
    print('Hello ' + name + '!')


# 主要程式碼
# 呼叫函數
say_hello_to('Girl')
say_hello_to('Sir')
say_hello_to()


# 執行結果
Hello Girl!
Hello Sir!
Hello Everyone!

參考資料

results matching ""

    No results matching ""