50👍
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.
6👍
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
print 'Methods:',
for name, _ in methods: print name,
print
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.
- How do I simulate connection errors and request timeouts in python unit tests
- Celery – No module named five
- Django template tag: How to send next_page in {url auth_logout}?
Source:stackexchange.com