A linguagem de programação Python , bem como outras linguagens de programação , é usado para executar comandos com base no estado do programa . Isso geralmente é realizado através de comparação de variáveis ou avaliação de afirmações verdadeiras ou falso . O programador deve saber sobre qualquer outro código real com antecedência , como o fim de um módulo em particular e como ele funciona . Introspecção é um aspecto de programação que permite ao programa para avaliar si e os seus próprios mecanismos internos . Introspecção
Introspecção em Python envolve usar a funcionalidade do Python para examinar os objetos , métodos e módulos durante a execução. Em Python, tudo é um objeto , ea natureza introspectiva de Python significa que ele pode examinar objetos durante a execução do código. Isto significa que, como o código é executado, ele próprio , ou partes de si mesmo examina , para orientar todas as ações tomadas. Ao examinar -se , o código pode ter informações sobre os tipos de dados ou nomes de métodos como determinantes de como proceder .
Chamando Método Argumentos fora de seqüência
Na programação normal prática, um programador pode fornecer informações padrão para qualquer argumento em um método. Por exemplo , o método Python
def triplo ( valor1, valor2 = 4, value3 = 6) :
tem três argumentos , dois dos quais são dados valores padrão ( valor2 e valor3 ) . Em algumas outras linguagens de programação , como C + + , um programador deve fornecer os argumentos na ordem correta para que o método funcione corretamente . Python , no entanto, permitirá que o programador especifique argumentos em qualquer ordem , como
triplo (3, value3 = 7)
porque argumentos dados a um método são entendidas pelo Python como um objeto de dicionário .
O " getattr " e Função
A função " getattr " é uma parte importante do Python introspecção ( Fonte 3). A função " getattr " não chamar uma função diretamente, mas sim retorna uma referência para o local de memória da função. Isso permite que o programa para fazer referência a um método em qualquer objeto (desde que ela existe ) sem saber o seu nome antes de tempo de execução. Ao usar " getattr " , desta forma, o nome do método apropriado pode ser construído durante a execução de código por meio de entrada do usuário e chamada como um método normal. Isso é importante em casos em que são necessárias múltiplas variações de saída.
Métodos Especiais
O poder de introspecção em Python vem de métodos especiais . O método "exigível " retorna um valor verdadeiro se um método ou classe existe para ser chamado pelo programador. O método de "tipo" retorna o tipo de objeto chamado. O método " issubclass ", relata um valor de verdade quanto à existência ou não de uma classe herda de outra .