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相同的方式失败吗? >>> …