[Python-il] Printing dictionary values rather than references

Shai Berger shai at platonix.com
Wed Jun 10 18:08:17 IDT 2009


0. There is no way to 'print references' in python (that I'm aware of). The 
question is: "Why is my object transformed to a string using the default 
method rather than my __str__?"

1. Is this Python 2 or 3?

2. In my python 2.6, you can get what you want be defining __repr__ instead of 
__str__.

Hope this helps,
	Shai.

On Wednesday 10 June 2009 17:28:20 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
>
> _______________________________________________
> Python-il mailing list
> Python-il at hamakor.org.il
> http://hamakor.org.il/cgi-bin/mailman/listinfo/python-il



More information about the Python-il mailing list