Python 中的第一类函数
第一类函数是被语言视为对象或变量的函数。 我们可以将它们分配给变量或将它们作为对象传递给其他函数。
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
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串