iT邦幫忙

0

什麼是 Python 函式?

在 Python 中,函式(Function) 是一段可重複使用的代碼,用於執行特定的任務。
函式能讓代碼更具結構性、提高可讀性,並支持代碼重用。函式通常可以接受參數並返回結果。

Python 函式的分類

  1. 內建函式(Built-in Functions)
  2. 自定義函式(User-defined Functions)
  3. 匿名函式(Lambda Functions)
  4. 高階函式(Higher-order Functions)
  5. 模組函式(Module Functions)

1. 內建函式(Built-in Functions)

Python 提供了大量的內建函式,這些函式不需要額外導入模組即可使用。
特性:即開即用,功能強大。

print(len("Hello"))  # 內建的 len() 函式,返回字串的長度
max([1, 5, 3])       # 返回列表中的最大值
int("123")           # 將字串轉換為整數

常見的內建函式:
數學相關:abs()、pow()、round()、sum()、min()、max()
類型轉換:int()、float()、str()、list()、dict()、tuple()
輸出輸入:print()、input()
邏輯判斷:all()、any()、bool()

2. 自定義函式(User-defined Functions)

這是由用戶自行定義的函式,根據需求來執行特定任務。
特性:靈活,能根據特定問題量身打造。

def add(a, b):
    return a + b

print(add(3, 5))  # 輸出:8

3. 匿名函式(Lambda Functions)

匿名函式是一種簡化的函式,不需要用 def 定義,而是直接使用 lambda 關鍵字。
特性:適合一次性的小功能,常與高階函式(如 map()、filter())結合使用。
語法:lambda 參數: 表達式

square = lambda x: x ** 2
print(square(4))  # 輸出:16

numbers = [1, 2, 3, 4]
squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers)  # 輸出:[1, 4, 9, 16]

4. 高階函式(Higher-order Functions)

這些函式可以接受其他函式作為參數,或者返回一個函式。
特性:結合函式與邏輯,適合處理迭代操作。
常見高階函式:

  • map():對可迭代物件的每個元素應用函式。
  • filter():篩選出滿足條件的元素。
  • reduce():累積計算(需引入 functools)。
# 使用 map 將數字列表中的每個元素平方
numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x ** 2, numbers))
print(squared)  # 輸出:[1, 4, 9, 16]

# 使用 filter 過濾偶數
even = list(filter(lambda x: x % 2 == 0, numbers))
print(even)  # 輸出:[2, 4]

5. 模組函式(Module Functions)

來自 Python 模組或套件的函式,需要透過 import 導入後才能使用。
特性:專門解決特定問題,功能豐富。

import math
print(math.sqrt(16))  # 輸出:4.0

from random import randint
print(randint(1, 10))  # 輸出:1 到 10 的隨機整數

總結
Python 的函式能夠靈活解決各種問題:


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言