语言中的第一类对象自始至终都是统一处理的。它们可以存储在数据结构中、作为参数传递或在控制结构中使用。如果一种编程语言将函数视为第一类对象,则称其支持第一类函数。Python 支持第一类函数的概念。
一等函数的性质:
说明 Python 中的 First Class 函数的示例
1. 函数是对象: Python 函数是第一类对象。在下面的示例中,我们将函数分配给变量。此分配不调用该函数。它获取由shout引用的函数对象并创建指向它的第二个名称yell。
# Python program to illustrate functions # can be treated as objects def shout(text): return text.upper() print (shout('Hello')) yell = shout print (yell('Hello'))
输出:
HELLO HELLO
2. 函数可以作为参数传递给其他函数:因为函数是对象,所以我们可以将它们作为参数传递给其他函数。可以接受其他函数作为参数的函数也称为高阶函数。在下面的示例中,我们创建了一个函数greet,它接受一个函数作为参数。
# Python program to illustrate functions # can be passed as arguments to other functions def shout(text): return text.upper() def whisper(text): return text.lower() def greet(func): # storing the function in a variable greeting = func("""Hi, I am created by a function passed as an argument.""") print (greeting) greet(shout) greet(whisper)
输出
HI, I AM CREATED BY A FUNCTION PASSED AS AN ARGUMENT. hi, i am created by a function passed as an argument.
3. 函数可以返回另一个函数:因为函数是对象,所以我们可以从另一个函数返回一个函数。在下面的示例中,create_adder 函数返回 adder 函数。
# Python program to illustrate functions # Functions can return another function def create_adder(x): def adder(y): return x+y return adder add_15 = create_adder(15) print (add_15(10))
25
原文链接:codingdict.net