如下的yield生成器会出错?

PEP342将yield升级成了一个表达式
def test():
    print((yield))

为什么下面的yield不加括号会出错
def test():
    print(yield)
阅读 1.1k
1 个回答

yield 必须用加括号变成 yield_atom 才能用作子表达式。


expression

atom      ::=  identifier | literal | enclosure
enclosure ::=  parenth_form | list_display | dict_display | set_display
               | generator_expression | yield_atom
yield_atom       ::=  "(" yield_expression ")"
yield_expression ::=  "yield" [expression_list | "from" expression]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏