4.4 Introspecção e reflexão

Introspecção e reflexão são propriedades de sistemas orientados a objetos que qualificam a existência de mecanismos para descobrir e alterar, em tempo de execução, informações estruturais sobre um programa e objetos existentes neste.

Python possui tanto características introspectivas quanto reflexivas. Permite obter em tempo de execução informações a respeito do tipo dos objetos, incluindo informações sobre a hierarquia de classes. Preserva também metadados que descrevem a estrutura do programa sendo executado, e permitindo que se estude como está organizado este sem a necessidade de ler o seu código-fonte.

Algumas funções e atributos são particularmente importantes neste sentido, e são apresentadas nesta seção: