我不确定是否有这样做的标准方法。我已经实现了以下函数来转储对象的所有内容。它必须递归转储子对象,所以我正在检查InstanceType
,但它不起作用:
import types
def dump_obj(obj, level=0):
for a in dir(obj):
try:
if type(obj.__dict__[a]) == types.InstanceType:
dump_obj(obj.__dict__[a], level + 2)
else:
try:
print " " * level + "%s -> %s" % (a, obj.__dict__[a])
except:
pass
except:
pass
如何验证元素本身是否是对象?
我真正想要的是以下内容。鉴于:
class B:
def __init__(self):
self.txt = 'bye'
class A:
def __init__(self):
self.txt = 'hello'
self.b = B()
a = A()
dump_obj(a)
我想要以下输出:
txt -> hello
txt -> bye