मुझे यकीन नहीं है कि ऐसा करने का एक मानक तरीका है या नहीं। मैंने किसी ऑब्जेक्ट की सभी सामग्री को डंप करने के लिए निम्न फ़ंक्शन को कार्यान्वित किया है। यह रिकर्सिवली उप वस्तुओं डंप करना चाहिए, तो मैं 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
सब कुछ पायथन में एक वस्तु है। – Matthias
ठीक है: मैं कैसे सत्यापित कर सकता हूं कि कोई तत्व 'प्रकारों का प्रकार है। इंस्टेंस टाइप' (या जो कुछ भी आवश्यक है), ताकि मैं रिकर्सन ट्रिगर कर सकूं? – dangonfast