[Python-il] Printing dictionary values rather than references

Meir Kriheli meir at mksoft.co.il
Wed Jun 10 18:03:39 IDT 2009


Hi,

Amit Dor-Shifer 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

You can define __repr__ for the class (same way you did with __str__).

Cheers
--
Meir Kriheli
http://mksoft.co.il


More information about the Python-il mailing list