[Python-Dev] PEP for adding an sq_index slot so that any object, a or b, can be used in X[a:b] notation (original) (raw)
Guido van Rossum guido at python.org
Thu Feb 9 23:42:15 CET 2006
- Previous message: [Python-Dev] PEP for adding an sq_index slot so that any object, a or b, can be used in X[a:b] notation
- Next message: [Python-Dev] PEP for adding an sq_index slot so that any object, a or b, can be used in X[a:b] notation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2/9/06, Adam Olsen <rhamph at gmail.com> wrote:
On 2/9/06, Travis Oliphant <oliphant.travis at ieee.org> wrote: > > Guido seemed accepting to this idea about 9 months ago when I spoke to > him. I finally got around to writing up the PEP. I'd really like to > get this into Python 2.5 if possible.
-1 I've detailed my reasons here: http://mail.python.org/pipermail/python-dev/2006-January/059851.html
I don't actually see anything relevant to this discussion in that post.
In short, there are purely math usages that want to convert to int while raising exceptions from inexact results. The name index seems inappropriate for this, and I feel it would be cleaner to fix float.int to raise exceptions from inexact results (after a suitable warning period and with a trunc() function added to math.)
Maybe cleaner, but a thousand time harder given the status quo. Travis has a need for this today and index can be added without any incompatibilities. I'm not even sure that it's worth changing int for Python 3.0.
Even if float.int raised an exception if the float isn't exactly an integer, I still think it's wrong to use it here. Suppose I naively write some floating point code that usually (or with sufficiently lucky inputs) produces exact results, but which can produce inaccurate (or at least approximate) results in general. If I use such a result as an index, your proposal would allow that -- but the program would suddenly crash with an ImpreciseConversionError exception if the inputs produced an approximated result. I'd rather be made aware of this problem on the first run. Then I can decide whether to use int() or int(round()) or whatever other appropriate conversion.
-- --Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] PEP for adding an sq_index slot so that any object, a or b, can be used in X[a:b] notation
- Next message: [Python-Dev] PEP for adding an sq_index slot so that any object, a or b, can be used in X[a:b] notation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]