#!/usr/bin/env python
# Filename: unpack.py
# Description: This code will unpack a python object
# Supported Langauge(s): Python 2.7.x
# Time-stamp: <2015-03-18 18:41:56 none>
# -------------------------------------------------------
# I had to figure this out twice I am logging it this time.
# -------------------------------------------------------
# Suppose we have some object...
class FirstClass:
def setdata(self, value):
self.data = value
def display(self):
print self.data
# ...and someone instantiated it
x = FirstClass()
y = FirstClass()
x.setdata("King Arthur")
y.setdata(3.14159)
# If someone hands it to me and I want to know what inside
# it, then printing it just gives me something like
# <__main__.FirstClass instance at 0x7f794fab7b00>
print x
# Since I have the code to the class I can just use the
# display method.
x.display()
# But what if I don't know about the dispaly method?
# Is there some way I an unpack any arbitrary object?
vars(x)
# The above returns {'data': 'King Arthur'} .
# For a more complicated object you can pprint it.
from pprint import pprint
pprint (vars(x))
Try
dir([object]) too.