preloader

January 1, 1 | 2 minutes read
Index of content

Llevando esto más lejos, en realidad significa que la cosa a la que hace referencia get_msg es un objeto de función (un ejemplo o instancia de la clase Función). Este get_msg es realmente un tipo de variable que hace referencia (o apunta) a la función objeto en memoria que podemos ejecutar usando los corchetes. Esto se ilustra mediante el siguiente diagrama: Esto significa que cuando ejecutamos get_msg() lo que realmente sucede es que vamos a la variable get_msg y siguiendo la referencia (o puntero) allí a la función y luego, debido a que tenemos los corchetes, ejecutamos esa función. Esto tiene dos implicaciones:

  1. podemos pasar la referencia a una función,
  2. podemos hacer referencia get_msg (punto) en una función diferente Veamos la primera de estas implicaciones. Si asignamos la representación de referencia enviado por get_msg a otra cosa, entonces en efecto tenemos un alias para este función. Esto se debe a que ahora otra variable también hace referencia a la misma función. Por ejemplo, si escribimos: Entonces el resultado es que la cadena ‘Hello Python World!’ se vuelve a imprimir. Lo que esto ha hecho es copiar la referencia contenida en get_msg en otra_referencia (pero es una copia de esa referencia y esa es la dirección de la función en la memoria). Así, ahora tenemos en memoria: Entonces, solo para enfatizar esto, no hicimos una copia de la función; solo su dirección en la memoria. Por lo tanto, el mismo valor se mantiene tanto en get_msg como en otra_referencia y ambos valores son referencias al mismo objeto de función en memoria. ¿Qué significa esto y por qué debería importarnos? Bueno, eso significa que podemos pasar. referencias a funciones dentro de nuestro programa que pueden ser muy útiles característica que veremos más adelante en este capítulo. Ahora volvamos a la segunda implicación mencionada anteriormente; podemos reasignar otra función para get_msg. otra_referencia = obtener_mensaje imprimir(otra_referencia()) 15.3 Funciones como objetos 159
comments powered by Disqus

popular post

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Read More

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Read More

• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.

Read More