Jan Danielsson a écrit : > 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.
... yep, and this representation is built for human eyes. Don't worry too much if it does not display every bit of information contained in your object. Pretty printing rules ... >>> str(0.1) 0.1 >>> str("it's a bad idea") "it's a bad idea" > However, I don't understand what __repr__ should be. It is an *exact* (if possible) description of the object's content, nicely packaged into a string. >>> repr(0.1) 0.10000000000000001 >>> repr("it's a bad idea") '"it\'s a bad idea"' > There's a phrase > in the documentation which makes it highly confusing for a beginner like > me: "If at all possible, this should look like a valid Python expression > that could be used to recreate an object with the same value (given an > appropriate environment).". It means that the equality eval(repr(x)) == x should hold. Cheers, SB -- http://mail.python.org/mailman/listinfo/python-list