Printing dictionary values rather than references

Jeff McNeil jeff at jmcneil.net
Wed Jun 10 11:15:41 EDT 2009


On Jun 10, 10:19 am, Amit Dor-Shifer <ami... at oversi.com> wrote:
> Hi all.
>
> I'd like to print-out a dictionary of objects. The printed values are
> references. How Do I print the actual objects.
>
> class MyClass:
>     def __str__(self):
>         return str(self.__dict__)
>
> if __name__ == '__main__':
>     dict = dict()
>     classA = MyClass()
>     setattr(classA, "attr-1", "val-1")
>
>     dict['a']= classA
>     print classA
>     ''' Desired output: {'attr-1': 'val-1'}'''
>     print dict
>     ''' Actual output: {'a': <__main__.MyClass instance at 0x79cfc8>}'''
>
> Thanks,
> Amit

class MyClass:
    def __repr__(self): # <--- see http://docs.python.org/library/functions.html#repr
        return str(self.__dict__)
HTH,

Jeff
mcjeff.blogspot.com



More information about the Python-list mailing list