[Python-Dev] str(container) should call str(item), not repr(item) (original) (raw)
Steve Holden steve at holdenweb.com
Mon Jul 28 13:24:18 CEST 2008
- Previous message: [Python-Dev] str(container) should call str(item), not repr(item)
- Next message: [Python-Dev] str(container) should call str(item), not repr(item)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Sebastian Haase wrote:
On Mon, Jul 28, 2008 at 10:59 AM, <skip at pobox.com> wrote:
Ondrej> i.e. the str on list (and tuple and dict) calls repr() on the Ondrej> elements, instead of str. This really seems to me like a bug. Ondrej> Because if I wanted the repr() representation, I'd call repr() Ondrej> on the list/tuple/dict. If I want a nice readable Ondrej> representation, I call str(). That's the philosophy, no?
I think this is the case which calls for the distinction: >>> str(["1", "2", "3"]) "['1', '2', '3']" >>> str([1, 2, 3]) '[1, 2, 3]' If the first case did as you suggested you couldn't distinguish it from the second. Look at this -- it seems to me that it should work fine.... ---- Python 2.5.1 (r251:54863, Apr 15 2008, 22:57:26) str("qwer") 'qwer' repr("qwer") "'qwer'" No it doesn't. What's happening in these examples is that the interpreter is calling repr() on the expression result - otherwise you wouldn't see the quotes:
str("qwer") 'qwer' print str("qwer") qwer
regards Steve
Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/
- Previous message: [Python-Dev] str(container) should call str(item), not repr(item)
- Next message: [Python-Dev] str(container) should call str(item), not repr(item)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]