在将其传递给函数时,为什么要在Python中省略生成器的括号?
发布于 2021-01-29 18:01:35
我只是在Python中尝试使用不同的语法来将生成器作为函数的参数传递给我,但我意识到尽管我一直在这样做,
>>> sum((j for j in xrange(5)))
10
这也可以:
>>> sum(j for j in xrange(5))
10
在Linux上的Python 2.6.6上对此进行了测试。到底发生了什么事?只是语法糖吗?毕竟,解译器通常无法理解解包的生成器:
>>> j for j in xrange(5)
File "<stdin>", line 1
j for j in xrange(5)
^
SyntaxError: invalid syntax
关注者
0
被浏览
53