Yep. `yield` in Ruby is a normal anonymous method call. It pushes a new frame onto the stack. `yield` in Python works more like Ruby's [Generator](<a href="http://ruby-doc.org/stdlib/libdoc/generator/rdoc/classes/Generator.html" rel="nofollow">http://ruby-doc.org/stdlib/libdoc/generator/rdoc/classes/Gen...</a>). It freezes the current stack frame's state and resumes execution somewhere else, returning again to the same place on the next iteration. They're very different things really.<p>More about Python's generators here:<p><a href="http://www.python.org/dev/peps/pep-0255/" rel="nofollow">http://www.python.org/dev/peps/pep-0255/</a>