我需要从仅从特定 TargetClass 派生的模块中获取类:
import mymodule as t
for att in dir(t):
someclass = getattr(t, att)
if isinstance(someclass, TargetClass):
print ("Do something with %s" % att)
好吧...这行不通,所以如果模块的属性不可调用,我需要创建实例并捕获异常:
import mymodule as t
for att in dir(t):
someclass = getattr(t, att)
try:
if isinstance(someclass(), TargetClass):
print ("Do something with %s" % att)
except:
pass
那么我如何只从 mymodule 中获取那些类,即某些 TargetClass 的子类,而不创建实例并捕获异常?