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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP