import inspect
a = A.NestA
print a in [x[1] for x in inspect.getmembers(A, inspect.isclass)]
print a in [x[1] for x in inspect.getmembers(B, inspect.isclass)]
结果:
^{pr2}$
附录:
如果您对模块中的类一无所知,可以回溯并获取该模块。在
# for each class in a's module...
for klass in inspect.getmembers(inspect.getmodule(a), inspect.isclass):
# see if a is in that class
if a in [x[1] for x in inspect.getmembers(klass[1], inspect.isclass)]:
print a, "is a member of", klass[0]
你要的是糟糕的设计。我给你的建议是重新定义你的解决方案。在
你可以用元类编程来做类似的事情。在
您可以使用inspect模块执行此操作:
结果:
^{pr2}$附录:
如果您对模块中的类一无所知,可以回溯并获取该模块。在
结果:
相关问题 更多 >
编程相关推荐