语言中的对象始终要统一处理。它们可以存储在数据结构中, 可以作为参数传递, 也可以在控制结构中使用。如果一种编程语言将函数视为一流的对象, 则称其支持一流的功能。 Python支持First Class函数的概念。
一级函数的属性:
- 函数是对象类型的实例。
- 你可以将函数存储在变量中。
- 你可以将该函数作为参数传递给另一个函数。
- 你可以从函数返回函数。
- 你可以将它们存储在哈希表, 列表等数据结构中。
举例说明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.函数可以作为参数传递给其他函数:因为函数是对象, 所以我们可以将它们作为参数传递给其他函数。可以接受其他函数作为参数的函数也称为高阶函数。在下面的示例中, 我们创建了一个函数迎接它以函数作为参数。
# 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函数返回加法器函数。
# 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
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。
注意怪胎!巩固你的基础Python编程基础课程和学习基础知识。
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。