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 se realiza generalmente a través de la comparación de las variables o evaluación de estados de 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 sí mismo y sus propios mecanismos internos . Introspección
introspección en Python implica el uso de la funcionalidad de Python para examinar objetos, métodos y módulos en 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 del código. Esto significa que el código se ejecuta, examina en sí , o partes de sí mismo , para guiar cualquier acción tomada . Mediante el examen de sí mismo, el código puede tener información sobre los tipos de datos o nombres de método como determinantes en cuanto a cómo proceder.
Llamando Argumentos de método fuera de secuencia
programación típica práctica, 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 , value3 = 6 ) :
tiene tres argumentos , dos de los cuales se dan valores por defecto ( valor2 y value3 ) . En 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
triples ( 3 , value3 = 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 Python introspección (Fuente 3 ) . La función " getattr " no llama a una función directamente , sino más bien devuelve una referencia a la ubicació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 del tiempo de ejecución . Mediante el uso de " getattr " de esta manera , el nombre del método adecuado puede ser construido 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 la producción.
Métodos especiales
El poder de la introspección de Python viene de métodos especiales . El método de " exigible" devuelve un valor verdadero si existe un método o una clase de ser llamado por el programador. El método del " tipo " devuelve el tipo del objeto llamado . El método " issubclass ", informa un valor de verdad de la existencia o no de una clase hereda de otra .