So much of how Ruby and Python differ comes down to the for loop. Python embraces for. Objects tell for how to work with them, and the for loop’s body processes what’s given back by the object. Ruby does the opposite. In Ruby, for itself (via each) is a method of the Object. The caller passes the body of the for loop to this method. With idiomatic Python, the object-model submits to the for loop.