Python 中的一等函式


在不同的程式語言中,一等物件是可統一處理的物件。一等物件可儲存為資料結構、一些其他函式的一些引數、控制結構等。我們可以說 Python 中的函式是一等函式,如果它支援一等物件的所有屬性的話。

一等函式的屬性有哪些?

  • 它是物件型別的例項。
  • 函式可儲存為變數。
  • 將一等函式作為其他一些函式的引數傳遞。
  • 從其他函式返回函式。
  • 將函式儲存在列表、集合或一些其他資料結構中。

首先,我們將瞭解 Python 中的函式如何用作物件。在 Python 中,函式可賦值為變數。要將其賦值為變數,函式將不會被呼叫。因此,不會使用括號“()”。

示例程式碼

真實示例

def cube(x):
   return x*x*x
res = cube(5)
print(res)
my_cube = cube #The my_cube is same as the cube method
res = my_cube(5)
print(res)

輸出

125
125

現在,我們將瞭解如何將函式作為另一個函式的引數傳遞。示例如下。

示例程式碼

def cube(x):
   return x*x*x
defmy_map(method, argument_list):
   result = list()
   for item in argument_list:
      result.append(method(item))
   return result
my_list = my_map(cube, [1, 2, 3, 4, 5, 6, 7, 8]) #Pass the function as argument
print(my_list)

輸出

[1, 8, 27, 64, 125, 216, 343, 512]

以下是一等函式的第三個屬性。在本例中,我們將從另一個函式返回一個函式。

示例程式碼

defcreate_logger(message):
   deflog():
      print('Log Message: ' + message)
   return log #Return a function
my_logger = create_logger('Hello World')
my_logger()

輸出

Log Message: Hello World

更新時間:2019 年 7 月 30 日

2 千次以上瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.