On 30/07/2016 14:36, Chris Angelico wrote:
On Sat, Jul 30, 2016 at 11:06 PM, Steven D'Aprano <st...@pearwood.info> wrote:
"for i in range(N):" just to repeat a block N times...

Why should there be special syntax just for repeating a block N times?
There's a general purpose for-loop which performs iteration. Why do you
need special syntax to do what it already does?

>
> Python could have chosen to make integers iterable, such that you say:
>
> for i in 10:
>
> but I don't think it really improves readability.

On 30/07/2016 13:47, Chris Angelico wrote:
>(Also, it requires the use
> and damage of some iterator variable, which may be significant in some
> contexts.)

The 'i' is superfluous. Why not:

 for 10:

(In my own syntaxes I use (actual example):

  to 64 do
      table append:= nextbyte(fs)
  od

Python equivalent:

  for i in range(64):
      table.append(nextbyte(fs))

The range object isn't really necessary, and the 'i' variable doesn't need to be exposed (as a programmer-accessible, reference-counted variable).

The 'to' construct I also implemented with a single very fast byte-code, executed once per iteration.)


--
Bartc
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to