迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 中的第一类函数

作者:迹忆客 最近更新:2023/04/25 浏览次数:

第一类函数是被语言视为对象或变量的函数。 我们可以将它们分配给变量或将它们作为对象传递给其他函数。

Python 支持第一类函数的功能。


Python 中一级函数的属性

  • 它是对象类型的实例。
  • 我们可以将它分配给一个变量。
  • 我们可以将它作为参数传递给另一个函数。
  • 它可以返回一个函数。
  • 我们可以将其存储在哈希表、列表和其他数据结构中。

Python 中的一流函数示例

作为对象的函数

我们在以下代码中将函数 square() 分配给变量 my_sq。 现在,my_sq 与 square() 相同。

当我们在将它分配给变量时写下它的名字时,我们没有调用该函数。 我们调用函数 my_sq(),它指的是实际函数。

作为输出,我们得到传递的数字的平方。

示例代码:

#Python 3.x
def square(x):
    return x*x
my_sq = square
result = my_sq(2)
print(result)

输出:

#Python 3.x
4

将函数作为参数传递给另一个函数

在下面的代码中,我们将函数 square() 作为参数传递给函数 operation(),就像我们将对象作为参数传递一样。

在该方法中,我们将传递的函数分配给对象 func,我们通过调用 func() 来调用函数 square(),因为 func() 在后端引用 square()。

接受函数作为参数的函数称为高阶函数。 这里,operation() 是一个高阶函数。

示例代码:

#Python 3.x
def square(x):
    return x*x
def operation(func):
    result = func(2)
    print(result)
operation(square)

输出:

#Python 3.x
4

从函数返回函数

我们可以从另一个函数返回一个函数,因为函数是对象。 在下面的代码中,我们创建了一个返回函数 square() 的函数 operation()

我们将返回的函数保存在对象 sq 中。现在,sq 指的是方法 square()

最后,我们通过 sq 调用了方法 square()

示例代码:

#Python 3.x
def operation():
    def square(x):
        return x*x
    return square
sq = operation()
result=sq(2)
print(result)

输出:

#Python 3.x
4

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便