Sobes.tech
Junior — Middle

Pode explicar o que se entende por introspeção em programação?

sobes.tech IA

Resposta da IA

A introspecção na programação é a capacidade de um programa de explorar sua própria estrutura durante a execução. Em Python, isso significa a capacidade de obter informações sobre os tipos de objetos, seus atributos, métodos e outras características de forma dinâmica.

Por exemplo, usando funções como type(), dir(), getattr(), é possível descobrir quais métodos estão disponíveis em um objeto ou chamá-los dinamicamente.

Exemplo de introspecção:

class MyClass:
    def method(self):
        pass

obj = MyClass()

print(type(obj))          # <class '__main__.MyClass'>
print(dir(obj))           # lista de atributos e métodos
print(hasattr(obj, 'method'))  # True
method = getattr(obj, 'method')
method()  # chamada dinâmica do método

A introspecção é útil para escrever código flexível e dinâmico, por exemplo, em frameworks, testes ou ao serializar objetos.