什麼是 Function / Method (函式 / 方法) ?

1
什麼是 Function / Method (函式 / 方法) ?:函式(Function)或方法(Method)是程式設計中用來封裝可重複執行邏輯的獨立程式區塊,能接收輸入、執行特定任務並返回結果。它就像程式的「小工具」,讓程式碼更模組化、易讀與維護。

什麼是 Function / Method (函式 / 方法) ?

函式(Function)或方法(Method)是程式設計中用來封裝可重複執行邏輯的獨立程式區塊,能接收輸入、執行特定任務並返回結果。它就像程式的「小工具」,讓程式碼更模組化、易讀與維護。

 

定義與基本概念

函式是一組有名稱(或匿名)的程式碼片段,透過定義後可多次呼叫,減少重複撰寫。

核心元素包括:

  • 參數(Parameters):輸入值,用於傳遞資料給函式。

  • 本體(Body):執行的邏輯步驟。

  • 返回值(Return Value):處理後的輸出,可選。

例如,在Python中定義def add(a, b): return a + b,呼叫add(3, 5)得8。

 

函式與方法的區別

函式是獨立存在的,方法則屬於物件導向程式設計(OOP)中類別(Class)的一部分,透過物件呼叫。​

特性 函式 (Function) 方法 (Method)
歸屬 全域或模組獨立 綁定於類別或物件
呼叫方式 直接名稱(參數) 物件.方法(參數)
範例 print("Hi") obj.calculate()

方法常見如類別內的建構子(Constructor)或實例方法,提升OOP封裝性。

 

優點與實際應用

使用函式能提升程式效率,例如重複計算薪資邏輯只需定義一次。

主要優點:

  • 重複利用:一次定義,多處呼叫。

  • 模組化:拆分複雜程式,便於除錯。

  • 可讀性:抽象細節,聚焦高階邏輯。

  • 測試性:獨立測試單元。

在AI課程開發中,如定義train_model(data)函式處理模型訓練,整合資料前處理與評估。

 

進階類型與範例

函式支援多種形式,包括遞迴、Lambda(匿名函式)和高階函式。​

  • 遞迴:函式自我呼叫,如計算階乘factorial(n) = n * factorial(n-1)

  • Lambda:簡短表達式,如Python的lambda x: x**2

  • 高階:接受或返回函式,如map(lambda x: x*2, list)

範例(Python):

def greet(name):  # 簡單函式
    return f"你好,{name}!"

print(greet("AI學習者"))  # 輸出:你好,AI學習者!
 

注意範圍(Scope):區域變數僅函式內有效,全域需關鍵字宣告,避免意外修改。