21.12.2022 Views

python_para_desenvolvedores_2ed

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Introspecção 91

# Mostra informações sobre o objeto

print 'Nome do objeto:', n_obj

print 'Identificador:', id(obj)

print 'Tipo:', type(obj)

print 'Representação:', repr(obj)

# Se for um módulo

if isinstance(obj, ModuleType):

print 'itens:'

for item in dir(obj):

print item

print

# Mostrando as informações

for n_obj in dir():

info(n_obj)

O Python também tem um módulo chamado types, que tem as definições dos

tipos básicos do interpretador.

Exemplo:

# -*- coding: latin-1 -*-

import types

s = ''

if isinstance(s, types.StringType):

print 's é uma string.'

Através da introspecção, é possível determinar os campos de uma tabela de

banco de dados, por exemplo.

Inspect

O módulo inspect provê um conjunto de funções de alto nível para

introspecção que permitem investigar tipos , itens de coleções, classes,

funções, código fonte e a pilha de execução do interpretador.

Exemplo:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!