[Fixed]-In python django how do you print out an object's introspection? The list of all public methods of that object (variable and/or functions)?


Well, things you can introspect are many, not just one.

Good things to start with are:

>>> help(object)
>>> dir(object)
>>> object.__dict__

Also take a look at the inspect module in the standard library.

That should make 99% of all the bases belong to you.


Use inspect:

import inspect
def introspect(something):
  methods = inspect.getmembers(something, inspect.ismethod)
  others = inspect.getmembers(something, lambda x: not inspect.ismethod(x))
  print 'Variable:',   # ?! what a WEIRD heading you want -- ah well, w/ever
  for name, _ in others: print name,
  print 'Methods:',
  for name, _ in methods: print name,

There’s no way you can invoke this without parentheses in a normal Python shell, you’ll have to use introspect(Factotum) ((with class Factotum property imported in the current namespace of course)) and not introspect Factotum with a space. If this irks you terribly, you may want to look at IPython.

Leave a comment