--- Generatorlar Pythonda iterable objeler (örnek olarak fonksiyonlar) oluşturmak için kullanılan objelerdir ve bellekte herhangi bir yer kaplamazlar. Örneğin, 30.000 tane değer üretip, bu değerleri bir listede tutmak bellekte oldukça fazla yer kaplar. O yüzden bu işlemi gerçekleştiren bir fonksiyonu generator şeklinde yazmak daha iyi olacaktır. ---
--- İlk önce generator kullanmadan bir fonksiyon oluşturalım. ---

--- Şimdi generator kullanalım ve neler olduğunu görelim. Aşağıdaki örneği dikkatli inceleyin. Burada return değil de yield ifadesinin kullanıldığına dikkat edin. ---


--- Generatorların mantığı bu şekildedir. Fazla sayıda değerlerlerimizin bellekte yer kaplamamasını sağlıyoruz. Bu arada range() fonksiyonu da aslında generator kullanılarak yazılmış bir fonksiyondur. Biz istediğimiz zaman sayılara ulaşıyoruz ve bu sayılar hiçbir yerde bir alan kaplamıyor, bir listede vs. bulunmuyor. ---