Tino Wildenhain wrote: > Neal Becker wrote: >> Reading some FAQ, I see that __str__ is "meant for human eyes". >> >> But it seems that: >> class X(object): >> def __str__(self): >> return "str" >> def __repr__(self): >> return "repr" >> >> x = X() >> d = {0 : x} >> print d >> {0: repr} >> >> So if __str__ is "meant for human eyes", then why isn't print using it! > > it is: > > > print x > str > > but dict just uses repr() for all its childs to print. > > T. That makes no sense to me. If I call 'print' on a container, why wouldn't it recursively print on the contained objects? Since print means call str, printing a container should recursively call str on the objects.
-- http://mail.python.org/mailman/listinfo/python-list