Principios de las funciones de orden superior de Python y funciones ordenadas

Función de orden superior

  Las funciones son ciudadanos de primera clase en Python

  Las funciones también son objetos, objetos invocables

  Las funciones se pueden usar como variables ordinarias, parámetros, valores de retorno, etc.

Condiciones necesarias para convertirse en una función de orden superior:

  Recibe una o más funciones como parámetros

  Salida de una función

Ejemplos:

DEF contador (base):
     DEF inc es (= PASO 1. ): 
        Base de no local 
        de base + = Paso # base = base + STEP, variables locales, la base de las variables locales, pero esto no es necesario el uso de base no local, las variables locales declara como no hacia el exterior encontrar, está formada de cierre 
        de retorno Base
     retorno inc es 

F = contador (10 ) 

de impresión (F ()) 

# de salida 
. 11 

F1 = inc es (. 5 ) 
F2 = inc es (. 5 ) 
F1 iS F2, F1 == F2, ID (F1) , lo anterior Identificación del mencionado (F2) # contenido de función no se pueden comparar, la comparación se convertirán en una dirección de memoria que se convierte en F1 es f2 

resultado es falso 
'' '
Tanto f1 como f2 apuntan a la función interna inc. Cada vez que se llama a la función de contador, necesita crear un pin de pila, empujar la pila y devolver el valor de la función a la parte superior de la pila. Luego la función de contador muere, pero hay un cierre f1 que registra la dirección de memoria de la función inc. , Cada vez es una nueva función llamada, 
por lo que la dirección de memoria f1 f2 es diferente, el contenido no se puede comparar entre funciones, se convertirá implícitamente para comparar la dirección de memoria que es f1 == f2-> f1 es f2
'' '

 

Supongo que te gusta

Origin www.cnblogs.com/alrenn/p/12728433.html
Recomendado
Clasificación