Fluent Python 的第 14 章也有非常好的演绎,但是我认为它对「为什么要有这种语言特性」缺乏阐释我试图从演变的角度,总结这些概念的来源和演化,以得到一个符合逻辑和容易理解的版本。>>> class FibonacciIterator: ... # **函数实现省略当整个函数体被执行完毕时,抛出 StopIteration 异常 这套规则清晰直观,可以将它套用在上面代码中验证一下至于第三种写法为啥不用括号包起来,是 Python 为了可读性故意设计的,如果作为唯一的函数参数使用,则可以省略