在 Python 中,我多次看到yield
用于创建生成器的函数。this 和print
函数在技术上都执行方法的操作,因为它们返回一个值。然而,在从 Python 2 到 Python 3 的变化过程中,print
函数像普通的方法调用一样获得了括号,但 yield 保持不变。此外,yield
保留关键字的颜色为黄色,而print
保留方法的颜色为紫色。为什么yield
不被视为一种方法并以这种方式着色而不使用括号语法?
(以类似的方式,为什么return
还缺少括号?)
让我添加更多内容,yield 和 continue 在许多其他语言中也没有括号。我只是想知道除了保留之外是什么使它与众不同。还有许多其他保留方法可以得到括号。