将函数作为参数传递 Python

2024 年 8 月 29 日 | 4 分钟阅读

本文讨论了在 Python 中将函数作为参数传递。函数可以接受多个参数。这些参数可以是对象、变量(相同或不同数据类型)和函数。Python 函数是第一类优雅的工具。

在下面的示例中,一个函数被赋给了一个变量。这个变量不再是函数的名称。它指向“shout”指向的函数对象,并创建了第二个调用“yell”来指向它。

函数可以作为参数传递。参数在函数调用的小括号内指定。你可以添加任意多的参数,用逗号分隔。

下面的例子有一个只带一个参数(fname)的函数。同时,该函数被调用,并将参数中的名称用于打印完整的调用。

示例 1:这里我们给出了一个在 Python 中将函数作为参数传递的例子。示例如下:

结果:我们编译上面的程序,并在编译后运行它。结果如下:

Email Id
Phone Id

示例 2:这里我们给出了另一个在 Python 中将函数作为参数传递的例子。示例如下:

结果:我们编译上面的程序,并在编译后运行它。结果如下:

HELLO WORLD
HELLO CODERS

包装器函数:包装器函数或装饰器允许你包装另一个函数并扩展它,而无需永久更改被包装函数的行为。在装饰器中,函数被作为另一个函数的参数,并在包装器函数内部调用。

示例 1:这里我们给出了一个在 Python 中将包装器函数作为参数传递的例子。示例如下:

结果:我们编译上面的程序,并在编译后运行它。结果如下:

Hello coders, it is before the function execution
It is inside of this function
It is after the function execution

Lambda 包装器函数:在 Python 中,匿名函数没有名称。正如你所知,`def` 关键字用于定义普通函数,而 `lambda` 关键字用于创建匿名函数。该函数可以接受多个参数,但只计算并返回一个简单的表达式。

Lambda 函数也可以将另一个函数作为参数。接下来的例子展示了一个 Lambda 函数将另一个 Lambda 函数作为参数传递。

示例 1:这里我们给出了一个在 Python 中将 lambda 包装器函数作为参数传递的例子。示例如下:

结果:我们编译上面的程序,并在编译后运行它。结果如下:

The square of 4 is:16
The cube of 16 is: 4096

高阶函数:由于函数是对象,我们可以将它们作为参数传递给其他函数。接受其他函数作为参数的函数也称为高阶函数。下面的例子创建了一个 `Greet` 函数,它接受一个函数作为参数。

示例 1:这里我们给出了一个在 Python 中将高阶函数作为参数传递的例子。示例如下:

结果:我们编译上面的程序,并在编译后运行它。结果如下:

HELLO, WE ARE CREATED BY A HIGHER ORDER FUNCTION PASSED AS AN ARGUMENT.
hello, we are created by a higher order function passed as an argument.

结论:在 Python 中,你可以将函数对象传递给其他函数。函数在 Python 中可以被传递。Python 具有内置函数,要求你将函数指定为一个或多个参数,以便以后可以调用它。


下一主题#