📜  Python中的第一类函数

📅  最后修改于: 2022-05-13 01:54:33.865000             🧑  作者: Mango

Python中的第一类函数


语言中的第一类对象在整个过程中被统一处理。它们可以存储在数据结构中,作为参数传递,或者在控制结构中使用。如果一种编程语言将函数视为一等对象,则称其支持一等函数。 Python支持 First Class 函数的概念。

一等函数的性质:

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

说明Python中的 First Class 函数的示例

1.函数是对象: Python函数是第一类对象。在下面的示例中,我们将函数分配给变量。此分配不调用函数。它获取由喊叫引用的函数对象并创建指向它的第二个名称,叫喊。

# 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