[Python-ideas] Pass a function as the argument "step" of range()
rosuav at gmail.com
Sat Jul 4 02:28:59 CEST 2015
On Sat, Jul 4, 2015 at 10:17 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> Also, I think 'numbers' should be narrowed to 'integers' (or whatever is
>> actually accepted). The idea of allowing floats has been proposed at least
>> once, probably more, and rejected.
> Unfortunately, we don't have a great word for "implements __index__", as
> "integer" at least arguably implies specifically "int".
I'm not sure that actually matters - even if the parameters can be any
objects that implement __index__, the range still represents a
sequence of ints:
>>> class X:
... def __index__(self): return 4
[0, 1, 2, 3]
>>> [type(n) for n in range(X())]
[<class 'int'>, <class 'int'>, <class 'int'>, <class 'int'>]
Saying "sequence of integers" seems fine to me.
More information about the Python-ideas