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.