O processamento automático de documentos para se tornarem propriedades de seus proprietários. Em geral, todos os brilhantes recursos de introspecção do Python o tornam uma linguagem muito única, da capacidade de usar help () à capacidade de usar __doc__
como uma propriedade de primeira classe de um objeto. Por exemplo:
>>> class DocStringException(Exception):
... """Error message is the same as docstring"""
... def __str__(self):
... return repr(self.__doc__)
...
>>> class ExampleException(DocStringException):
... """An example happened"""
...
>>> raise ExampleException
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
__main__.ExampleException: 'An example happened'
Outros recursos úteis de introspecção:
- help / help () - ajuda com o intérprete / ajuda com um objeto
- keywords - palavras-chave python
- locals () - obtém os nomes locais
- globals () - obtém os nomes globais
- dir () - obtém propriedades e métodos de um objeto
- o método .mro. , issubclass - entendendo a herança
- id () - obtém o endereço de memória de um objeto