Los beneficios de la introspección de Python




Introspección

La introspección de Python implica el uso de características de Python para examinar los 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 de código. Esto significa que el código se ejecuta, en sí, o partes de sí mismo examina, para guiar todas las acciones tomadas. Examinar a sí mismo, el código puede obtener información sobre los tipos de datos o nombres como determinantes del método sobre cómo proceder.

Llamar a los temas fuera de secuencia

En la práctica, la programación habitual, 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 + +, el programador debe proporcionar los argumentos en el orden correcto para que el método funcione correctamente. Python, sin embargo, hará que el programador especificar los argumentos en cualquier orden, tales como

triples (3, value3 = 7)

debido a que los argumentos proporcionados a un método que se entiende por Python como un objeto de diccionario.

El " getattr " y función

Getattr es una parte importante de Python introspección (Fuente 3). Getattr no llamar 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 referirse a un método en un objeto (a condición de que exista) sin conocer su nombre antes de tiempo de ejecución. Uso de " getattr " de esta manera, el método nombre propio puede ser construido durante la ejecución de código a través de la entrada del usuario y llama como un método normal. Esto es útil en los casos en que múltiples peticiones son variaciones de la salida.

Métodos especiales

El poder de la introspección de Python es con métodos especiales. El método exigible devuelve un valor true si hay un método o una clase de ser llamado por el programador. El tipo de método devuelve el tipo del objeto nombrado. El issubclass método devuelve un valor true si se hereda de otra clase.



Deja un comentario