WeHelp
掌握基礎的 Python 觀念、語法、和程式運作流程,以及物件導向程式的入門技巧。
  1. Python 快速開始
  2. 資料、資料型態
  3. 變數的使用
  4. 運算符號
  5. IF 條件判斷
  6. Match 條件判斷
  7. While 迴圈
  8. For 迴圈
  9. 函式基礎
  10. 函式進階
  11. 類別、物件基礎
  12. 類別的繼承
  13. 模組與封包
  14. 例外處理
函式進階
以下介紹 Python 函式常見的進階語法。 ## 1. 指定名稱的參數(Keyword Arguments) 呼叫函式時,可以直接指定參數名稱,因此不必依照參數順序傳入,程式也更容易閱讀。 ```python def introduce(name, age, city): return f"{name} 今年 {age} 歲,住在 {city}。" message = introduce(city="台北", name="小明", age=20) print(message) ``` 輸出: ```text 小明 今年 20 歲,住在 台北。 ``` 也可以使用 `*` 強制某些參數必須以名稱指定: ```python def connect(host, *, port=80): print(f"連線到 {host}:{port}") connect("example.com", port=443) ``` --- ## 2. 任意長度的參數 ### `*args` `*args` 可以接收任意數量的位置參數,函式內會以 tuple 形式取得。 ```python def add_all(*numbers): total = sum(numbers) return total print(add_all(1, 2, 3)) print(add_all(10, 20, 30, 40)) ``` 輸出: ```text 6 100 ``` ### `**kwargs` `**kwargs` 可以接收任意數量的指定名稱參數,函式內會以 dictionary 形式取得。 ```python def show_info(**info): for key, value in info.items(): print(f"{key}: {value}") show_info(name="小美", age=25, city="高雄") ``` 輸出: ```text name: 小美 age: 25 city: 高雄 ``` --- ## 3. 任意長度的回傳值 Python 函式可以一次回傳多個值。實際上,Python 會將它們包裝成 tuple。呼叫時可以使用多重指定接收。 ```python def calculate(a, b): total = a + b difference = a - b product = a * b return total, difference, product sum_result, diff_result, product_result = calculate(10, 3) print(sum_result) print(diff_result) print(product_result) ``` 輸出: ```text 13 7 30 ``` 若不拆開接收,也可以直接取得 tuple: ```python result = calculate(10, 3) print(result) # (13, 7, 30) ``` ### 重點整理 - `參數名稱=值`:使用指定名稱傳入參數。 - `*args`:接收任意數量的位置參數。 - `**kwargs`:接收任意數量的指定名稱參數。 - `return a, b, c`:一次回傳多個值,實際上會形成 tuple。
相關學習地圖、教學課程
Python 資料工程
從 0 開始,成為資料工程師的學習路徑。
Python 後端工程、資料庫
從 0 開始,成為後端工程師的學習路徑。