En primer lugar, el objeto de la función
esencial: la función de lata como variable para uso
func = dirección de memoria
DEF func ():
Imprimir ( ' func func ' )
# Nota func, y func () es la diferencia?
# FUNC es un nombre de variable, alias de dirección de memoria equivalente.
# Función FUNC () se invoca, obtener un resultado.
# 1, misiones:
func
# F # = func func es asignar una dirección de memoria variable de
# de impresión (F, func) # <función 0x000001C31B2895E0 func AT> <función AT 0x000001C31B2895E0 func>
# F1 = func () es # el resultado FUNC () a una variable
# impresión (F1) Ninguno #
# impresión (F ()) Ninguno FUNC FUNC #
# impresión (FUNC ()) FUNC FUNC # # Ninguno
# 2, se pueden pasar como una función de parámetros
DEF foo (X): # X = FUNC memoria de direcciones
# de impresión (X) # <función FUNC AT 0x000001D9F8E795E0>
# mismo efecto siguiente
X ()
FUNC ()
# A = 111
# foo (111)
# foo (a)
# dirección de memoria FUNC como un parámetro pasado en
foo (FUNC) # foo (FUNC dirección de memoria)
# 3, como valor de retorno como una función de otra función
# foo DEF (X): X = FUNC # memoria de direcciones
# retorno retorno FUNC # X dirección de memoria
# RES = foo (FUNC) # foo (FUNC de dirección de memoria)
# de impresión (RES) # <función FUNC AT 0x000001BA694195E0>
#
# después de res () se añadieron # () Resultados obtenidos: FUNC FUNC
# . 4, se puede utilizar como un tipo de elemento contenedor.
# Ejemplo 1: Lista
# L = [FUNC,]
# de impresión (L) # [<función FUNC AT 0x000002F8227195E0>]
# obtener la lista de elementos siguientes
# L [0]
# lista de llamadas
# L [0] () # FUNC FUNC
# ejemplo 2: diccionario
# CID = { 'K1':} FUNC
#imprimir (DIC) # { 'k1': <función func en 0x00000266D75895E0>}
# 调用
# DIC [ 'k1'] () # func func