# Colhendo algumas informações # dos objetos globais no programa from types import ModuleType def info(n_obj): # Cria uma referência ao objeto obj = globals()[n_obj] # 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()[:10]: # O trecho [:10] é apenas para limitar os objetos info(n_obj) import types s = '' if isinstance(s, types.StringType): print 's é uma string.' import os.path # inspect: módulo de introspecção "amigável" import inspect print 'Objeto:', inspect.getmodule(os.path) print 'Classe?', inspect.isclass(str) # Lista todas as funções que existem em "os.path" print 'Membros:', for name, struct in inspect.getmembers(os.path): if inspect.isfunction(struct): print name,