As I mentioned earlier, Python is very powerful, but regardless of how powerful a language it is, it will always be limited by the power of its host machine. What happens if you need to process hundreds, thousands, or even millions of records in a collection? Odds are you can't store all of them in memory at the same time. So what do you do? Generators to the rescue!