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