printing a sequence...
Christopher T King
squirrel at WPI.EDU
Fri Jul 16 10:09:20 EDT 2004
On Fri, 16 Jul 2004, Peter Otten wrote:
> Peter Otten wrote:
>
> > Florian Preknya wrote:
>
> >> What I want to obtain is [value: 10, value: 12, value: 2].
>
> >> Can I write somehow the print statement to force calling the A.__str__
> >> function?
> >
> > print [str(item) for item in a]
>
> print "[%s]" % ", ".join(map(str, a))
I had the same problem with the same solution, and it makes me wonder, why
does a list's __str__() method call the __repr__() method of its members?
Personally, I think the __str__() call should be propagated, not turned
into a __repr__() call. I can't think of any instances in which such
behavior is what you want (if the __repr__() of the members is wanted,
then __repr__() should be used).
More information about the Python-list
mailing list