1. 程式人生 > 其它 >python pow和**_「Python學習筆記」Python函式高階應用

python pow和**_「Python學習筆記」Python函式高階應用

技術標籤:python pow和**

2a3fe871ce7de1fd93a16c348d58a164.png

Python, 函式本身也是一個物件函式既可以賦值,也可以用作其他函式的引數,還可作為其他函式的返回值。

使用函式變數

Python的函式也是一種值:所有函式都是function物件,這意味著可以把函式本身賦值給變數,就像把整數、浮點數、列表、元組賦值給變數一樣。

當把函式賦值給變數之後,接下來程式也可通過該變數來呼叫函式。例如如下程式碼:

# 定義一個乘方的函式def pow(base, exponent): result = 1 for i in range(1, exponent + 1): result *= base return result# 將pow函式複製給my_fun,則my_fun可被當成pow使用my_fun = powprint(my_fun(3, 4)) # 輸出81# 定義一個計算面積的函式def area(width, height): return width * height# 將area函式賦值給my_fun,則my_fun可被當成area使用my_fun = areaprint(my_fun(3, 4)) # 輸出12

使用函式作為函式形參

有時候需要定義一個函式,該函式大部分計算邏輯都能確定,但某些處理邏輯暫時無法確定——這意味著某些程式程式碼需要動態改變,如果希望呼叫函式時,能動態傳入這些程式碼,那麼就需要在函式中定義函式形參,這樣即可在呼叫該函式時傳入不同的函式作為引數,從而動態改變這段程式碼。

Python支援像使用其他引數一樣使用函式引數,例如如下程式:

# 定義函式型別的形態,其中fn是一個函式def map(data, fn): result = [] # 遍歷data列表中的每個元素,並使用fn函式對每個元素進行計算 # 然後將計算結果作為新陣列的元素 for e in data: result.append(fn(e)) return result# 定義一個計算平方的函式def square(n): return n * n# 定義一個計算立方的函式def cube(n): return n * n * n# 定義一個計算階乘的函式def factorial(n): result = 1 for index in range(2m n + 1): result *= index return resultdata = [3, 4, 9, 5, 8]print("原資料: