Спасибо! Часть 2 деталей PEP 289 была в значительной степени тем, что я искал. С другой стороны, я просматривал грамматику, и похоже, что строка testlist_comp - та, которая разрешает эту конструкцию. Любая идея, почему он называется testlist_comp сейчас, а не testlist_gexp, как в PEP?

сто экспериментировал в Python с другим синтаксисом для передачи генератора в качестве аргумента функции, и я понял, что хотя я делал это,

>>> sum((j for j in xrange(5)))
10

это работает также:

>>> sum(j for j in xrange(5))
10

Это проверено на Python 2.6.6 в Linux. Что происходит под капотом? Это просто синтаксический сахар? В конце концов, обычно развернутый генератор не поддается интерпретации:

>>> j for j in xrange(5)
  File "<stdin>", line 1
    j for j in xrange(5)
        ^
SyntaxError: invalid syntax

Ответы на вопрос(1)

Ваш ответ на вопрос