是的,在Python中,函數可以作為參數傳遞給其他函數。這種將函數作為參數傳遞的技術被稱為高階函數(Higher-Order Function)。高階函數是接受一個或多個函數作為參數,或者返回一個函數的函數。
例如,Python內置的map()
和filter()
函數就是高階函數,它們接受一個函數和一個可迭代對象作為參數,然后對可迭代對象的每個元素應用傳入的函數。
下面是一個簡單的例子,展示了如何將函數作為參數傳遞給另一個函數:
def apply_func(func, x):
return func(x)
def square(x):
return x * x
def cube(x):
return x * x * x
# 使用apply_func函數分別對square和cube函數進行應用
result1 = apply_func(square, 5) # 結果是25
result2 = apply_func(cube, 5) # 結果是125
print(result1) # 輸出: 25
print(result2) # 輸出: 125
在這個例子中,apply_func
函數接受一個函數func
和一個參數x
,然后調用func(x)
并返回結果。我們分別使用square
和cube
函數作為func
參數,對它們進行應用,并打印出結果。