Jan Danielsson wrote: > Sorry, but I Just Don't Get It. I did search the 'net, I did read the > FAQ, but I'm too dumb to understand. > > As far as I can gather, __str__ is just a representation of the > object. [snip]
> However, I don't understand what __repr__ should be. __repr__ shouldn't be anything, if you don't have an actual need for it. Neither should __str__. But if you have a need for something, and you're not sure which to use, think of it this way. If you are trying to output a representation of the object for use in debugging, such as in a debug log file, then use __repr__ and make it look like whatever you want, but preferably following the <Angle brackets convention> like all the builtin stuff. If you have a need for some representation of the data to use in your application for non-debugging purposes, such as perhaps to display data to a user, or to write data to an output file, then __str__ is a good candidate, and you can make it look like whatever you need. Just don't waste your time defining either a __repr__ or a __str__ just because those methods exist. That won't do anyone any good. -Peter -- http://mail.python.org/mailman/listinfo/python-list