Python中的第一类函数

头等舱 语言中的对象在整个过程中都是统一处理的。它们可以存储在数据结构中,作为参数传递,或者在控制结构中使用。如果一种编程语言将函数视为一级对象,那么它就可以支持一级函数。Python支持第一类函数的概念。

null

第一类函数的性质:

  • 函数是对象类型的实例。
  • 可以将函数存储在变量中。
  • 可以将函数作为参数传递给另一个函数。
  • 可以从函数返回函数。
  • 您可以将它们存储在数据结构中,如哈希表、列表等…

演示Python中第一类函数的示例

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函数返回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

本文由 马扬克·阿格拉瓦尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享