[Python-Dev] string representation of range in 3.0

Guido van Rossum guido at python.org
Tue Apr 8 01:24:19 CEST 2008

I'd object to it returning something that resembles a list too
closely, but I could live with str(range(3)) return <0, 1, 2>. We
should probably have a cutoff so that if there are more than 6 values
it'll show the first 3 values, then dots, then the last 2 values. (The
cutoff would be computed so that '...' always represents at least 2

On Mon, Apr 7, 2008 at 4:14 PM, Brad Miller <bonelake at gmail.com> wrote:
> Hi,
>  I use Python in my CS1 and CS2 curriculum and I have a question.
>  As I've been using the Python 3.0 alphas one of the things that I am
>  bothered by is that I cannot see the sequence produced by range
>  without introducing students to the list() function.
>  I typically introduce range on day 1 of class and show students what
>  it produces without making a big deal out of the fact that it creates
>  a list.  They all accept this and things work out nicely when I
>  introduce lists for real in a week or two.
>  My question is why couldn't the __str__ method for the range object be
>  more friendly and show a representation of the sequence?  I understand
>  why __repr__ should return range(0,10) for an object created using
>  range(10) but couldn't print(range(10)) produce [0, 1, 2, ... 9]
>  The ... could even be used if the sequence were excessively wrong.
>  If this is acceptable, I would be happy to accept the challenge of
>  providing a patch.
>  Thanks,
>  Brad
>  _______________________________________________
>  Python-Dev mailing list
>  Python-Dev at python.org
>  http://mail.python.org/mailman/listinfo/python-dev
>  Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-Dev mailing list