Jak mogę uzyskać listę wszystkich klas w bieżącym module w Pythonie?
Widziałem wiele przykładów osób wyodrębniających wszystkie klasy z modułu, zazwyczaj coś w stylu:
# foo.py
class Foo:
pass
# test.py
import inspect
import foo
for name, obj in inspect.getmembers(foo):
if inspect.isclass(obj):
print obj
Niesamowite.
Ale nie mogę się dowiedzieć, jak uzyskać wszystkie klasy zobecny moduł.
# foo.py
import inspect
class Foo:
pass
def print_classes():
for name, obj in inspect.getmembers(???): # what do I do here?
if inspect.isclass(obj):
print obj
# test.py
import foo
foo.print_classes()
Jest to prawdopodobnie coś bardzo oczywistego, ale nie mogłem niczego znaleźć. Czy ktoś może mi pomóc?