Python函式

以下是這一節中,我們要來介紹的關於Python函式的知識點:

  • 什麼是函式
  • 如何來建立函式
  • 函式的型別

什麼是Python函式

函式是一小塊程式,它包含許多執行特定任務的單行或多行語句。假如說你有一個數千行執行不同任務的程式碼,那麼你應該將程式劃分為小模組(塊),也就是將它們切割為不同的函式,這樣可以提高程式碼的可讀性並降低其複雜度。

如何來定義Python函式

以下是Python的定義函式的語法:

def functionName(arguments):
    """This is the definition of this function"""
    statements
    return returnParam
  1. 關鍵字def用於定義宣告函式。
  2. functionName 是函式的名稱。
  3. arguments是可選的,它引數提供了用於執行操作的輸入值。
  4. 冒號(:)放在函式頭的結尾。
  5. """This is the definition of this function""" 是一個函式文件說明,它是可選項,用來描述該函式的功能。
  6. statements 是函式主體,包括一行或多行程式碼。
  7. return也是可選項,它將結果返回給該函式的呼叫者。

Python函式示例:

def language(p):
    """Function to print a message"""
    print("Programming language:", p)

這裡language定義了一個函式,它有一個從呼叫者傳遞的引數p。在函式內部,有一個docstring-函式文件說明和一個print語句來列印含有引數p的資訊。

Python中函式的呼叫:

你可以從程式中的任何位置來呼叫已定義的函式,可以通過使用函式名稱以及所需輸入引數來呼叫該函式。

language('Python')
Programming language: Python

return 語句:

return語句將控制權轉移回撥用該函式的程式碼,它表示了函式定義在此結束。

return的語法如下:

return [values_to_be_returned]

如果函式中沒有return語句,則預設返回一個None物件。

return 語句示例:

def square(n):
    return n*n
print("Square of 4=", square(4))
Square of 4=16

在此程式碼中,square(n)函式在print函式中被呼叫,4作為輸入引數被傳遞進去。在函式內部,有一個計算的達式-n*n,計算的結果返回到呼叫函式的位置(print語句)。

Python變數的作用範圍和生命週期:

變數的作用範圍是該變數能被訪問的有效範圍。當在函式內部宣告變數時,在函式的外部無法訪問它,這種型別的變數稱為區域性變數,只能在宣告它的函式內被訪問到。

變數的生命週期是變數存在於記憶體中的時間。當在函式內宣告變數時,當函式控制流程跳出該函式時,它的記憶體將被釋放。

如以下示例:

def fun():
    a = 12
    print("Value of a inside function:", a)
a = 24
fun()
print("Value of a outside function:", a)
Value of a inside function: 12
Value of a outside function: 24

在這段程式碼中,在函式內部的變數a和函式外部的變數a是不同的變數。

如果你嘗試從外部訪問函式內部宣告的變數,你將遇到錯誤 - NameError name 'x' is not defined。但是在函式外部宣告的變數具有全域性範圍,可以從內部訪問。

函式型別:

Python中的函式可以分為兩種型別:

  1. 內建函式:預先定義的函式,用以執行特定任務。
  2. 自定義函式: 由使用者來定義,包含任意數量的語句,用來以執行使用者定義的任務。