Tecnología

Inicio

Los beneficios de la introspección en Python

Los beneficios de la introspección en Python


El lenguaje de programación Python, al igual que otros lenguajes de programación, se utiliza para ejecutar comandos basados ​​en el estado del programa. Esto generalmente se logra a través de la comparación de las variables o evaluación de estados verdadero o falso. El programador tiene que saber acerca de cualquier otro código real de antemano, tales como el propósito de un módulo particular y cómo funciona. La introspección es un aspecto de programación que permite que el programa para evaluar en sí y sus propios mecanismos internos.

Introspección

La introspección en Python implica el uso de la funcionalidad de Python para examinar objetos, métodos y módulos durante el tiempo de ejecución. En Python, todo es un objeto, y la naturaleza introspectiva de Python significa que puede examinar objetos durante la ejecución de código. Esto significa que a medida que el código se ejecuta, se examina en sí, o partes del mismo, para guiar las acciones adoptadas. Mediante el examen en sí, el código puede tener información sobre los tipos de datos o nombres de métodos como determinantes en cuanto a la forma de proceder.

Llamar a los argumentos del método fuera de secuencia

En la práctica típica de programación, un programador puede proporcionar información por defecto para cualquier argumento a un método. Por ejemplo, el método de Python

def triple (valor1, valor2 = 4, valor3 = 6):

tiene tres argumentos, valores por defecto dos de los cuales están dadas (valor2 y Value3). En algunos otros lenguajes de programación, como C ++, un programador debe proporcionar los argumentos en el orden correcto para que el método funcione correctamente. Python, sin embargo, le permitirá al programador especificar argumentos en cualquier orden, como

triple (3, valor3 = 7)

porque los argumentos dados a un método son entendidos por Python como un objeto de diccionario.

El "getattr" y Función

La función "getattr" es una parte importante de la introspección de Python (Fuente 3). La función "getattr" no llama a una función directamente, sino que devuelve una referencia a la posición de memoria de la función. Esto permite que el programa para hacer referencia a un método en cualquier objeto (siempre y cuando existe) sin conocer su nombre antes de tiempo de ejecución. Mediante el uso de "getattr" de esta manera, el nombre del método apropiado se puede construir durante la ejecución del código a través de la entrada del usuario y llama como un método normal. Esto es valioso en los casos donde se requieren múltiples variaciones de salida.

Métodos especiales

El poder de la introspección en Python viene de métodos especiales. El método "exigible" devuelve un valor verdadero si existe un método o una clase de ser llamado por el programador. El método de "tipo" devuelve el tipo del objeto llamado. El método "issubclass", informa un valor de verdad en cuanto a si o no una clase hereda de otra.