(Это все на Python 3.5.2)Python постижения в вызовах функций (PEP 448)
В нижней части PEP 448, я вижу:
постижений в индексных скобках вызовов функций, такие как
f(x for x in it)
, уже действуют.
Это интригующе. Если я определяю следующие функции:
def f(a, b, c):
return a + b + c
то, что формулировка заставляет меня думать, что f(thing for thing in [1, 2, 3]) == 6
. Но на самом деле, я получаю:
>>> f(thing for thing in [1, 2, 3])
TypeError: f() missing 2 required positional arguments: 'b' and 'c'
т.е. все выражение генератора, переданного в качестве a
.
Так что же это предложение в PEP 448 означает? Просто вы можете передать выражение генератора в качестве аргумента?