1
関数の引数としてのジェネレータ
関数への唯一の位置引数としてジェネレーターを渡すことが特別な規則を持っているように見える理由を誰かが説明できますか? 私たちが持っている場合: >>> def f(*args): >>> print "Success!" >>> print args これは期待どおりに機能します。 >>> f(1, *[2]) Success! (1, 2) 期待どおり、これは機能しません。 >>> f(*[2], 1) File "<stdin>", line 1 SyntaxError: only named arguments may follow *expression これは期待どおりに機能します >>> f(1 for x in [1], *[2]) Success! (generator object <genexpr> at 0x7effe06bdcd0>, 2) これは機能しますが、理由がわかりません。2)と同じように失敗するべきではありません >>> …