Если функция принимает единственный аргумент, то можно в нее передать генераторное выражение без скобок:
>>> sum(x * x for x in range(5))
30
Тоже самое, что и:
>>> sum((x * x for x in range(5)))
30Но вне вызова функции генератор недопустимо использовать без скобок – это синтаксическая ошибка:
>>> g = x * x for x in range(5)
File "<stdin>", line 1
g = x * x for x in range(5)
^
SyntaxError: invalid syntax@pro_python_code