Python Dilinde `range()` Fonksiyonunun Kapsamlı Kullanımı
Python programlama dilinde, belirli bir aralıkta sayı dizileri oluşturmak ve özellikle döngülerde bu dizileri kullanmak için sıklıkla başvurulan temel yapı taşlarından biri range() fonksiyonudur. Bu fonksiyon, liste veya tuple gibi tüm sayıları bellekte tutmak yerine, gerektiğinde sayıları üreten bir "range nesnesi" döndürerek bellek verimliliği sağlar. Genellikle for döngüleriyle birlikte kullanılarak belirli sayıda tekrar eden işlemler gerçekleştirmek için idealdir.
Sözdizimi
range() fonksiyonunun üç farklı kullanım şekli bulunmaktadır:
range(stop)
range(start, stop)
range(start, stop, step)Detaylı Açıklama
range() fonksiyonunun parametreleri şu anlamlara gelmektedir:
start(isteğe bağlı): Dizinin başlayacağı tam sayıyı belirtir. Eğer belirtilmezse, varsayılan değeri0'dır.stop(zorunlu): Dizinin biteceği tam sayıyı belirtir. Bu sayı, üretilen diziye dahil edilmez. Yani, dizistop - 1değerinde sona erer.step(isteğe bağlı): Dizideki ardışık sayılar arasındaki artış miktarını belirtir. Eğer belirtilmezse, varsayılan değeri1'dir. Negatif bir değer de olabilir, bu durumda dizi azalan sırada üretilir.
range(), bir iterable nesne döndürür, doğrudan bir liste değil. Bu nesne, üzerinde iterasyon yapılabilir ancak tüm elemanları aynı anda bellekte tutmaz.
Örnekler
Örnek 1: Tek Parametre Kullanımı (stop)
Bu kullanım, 0'dan başlayıp stop değerine kadar (hariç) bir dizi oluşturur.
# 0'dan 4'e kadar (5 hariç) sayılar üretir
for i in range(5):
    print(i)
# Çıktı:
# 0
# 1
# 2
# 3
# 4Örnek 2: İki Parametre Kullanımı (start, stop)
Bu kullanım, start değerinden başlayıp stop değerine kadar (hariç) bir dizi oluşturur.
# 2'den 6'ya kadar (7 hariç) sayılar üretir
for i in range(2, 7):
    print(i)
# Çıktı:
# 2
# 3
# 4
# 5
# 6Örnek 3: Üç Parametre Kullanımı (start, stop, step)
Bu kullanım, start değerinden başlayıp stop değerine kadar (hariç), step miktarı kadar artarak bir dizi oluşturur.
# 0'dan 10'a kadar (11 hariç), 2'şer artarak sayılar üretir
for i in range(0, 11, 2):
    print(i)
# Çıktı:
# 0
# 2
# 4
# 6
# 8
# 10Örnek 4: Negatif step Kullanımı (Geriye Doğru Sayma)
step parametresine negatif bir değer verilerek azalan bir dizi oluşturulabilir. Bu durumda start değeri stop değerinden büyük olmalıdır.
# 10'dan 0'a kadar (0 hariç), 1'er azalarak sayılar üretir
for i in range(10, 0, -1):
    print(i)
# Çıktı:
# 10
# 9
# 8
# 7
# 6
# 5
# 4
# 3
# 2
# 1Örnek 5: range Nesnesini Bir Listeye Dönüştürme
range nesnesinin içeriğini görmek veya bir liste olarak kullanmak isterseniz, list() fonksiyonunu kullanabilirsiniz.
# 0'dan 5'e kadar bir range nesnesi oluştur
my_range = range(5)
print(my_range)
# Range nesnesini listeye dönüştür
my_list = list(my_range)
print(my_list)
# Çıktı:
# range(0, 5)
# [0, 1, 2, 3, 4]Önemli Notlar
range()fonksiyonu, kayan noktalı sayılar (float) ile çalışmaz. Yalnızca tam sayılar (integer) için geçerlidir.stopparametresi daima üretilen dizinin dışında kalır. Bu, Python'daki birçok slicing ve aralık belirleme işlemine benzer bir davranıştır.Büyük sayı aralıkları için bile
range()kullanmak bellek açısından verimlidir, çünkü tüm sayıları belleğe yüklemez. Yalnızca o anki sayıyı ve bir sonraki sayıyı hesaplamak için gereken bilgiyi tutar.range()tarafından döndürülen nesne, doğrudan bir liste olmasa da,len()fonksiyonu ile uzunluğu alınabilir ve üzerinde indeksleme yapılabilir (örneğin,my_range[0]).Sonsuz döngüden kaçınmak için
stepdeğerinin doğru ayarlandığından emin olun. Özellikle negatifstepkullanırkenstartvestopdeğerlerinin mantıklı bir sıra izlemesi önemlidir (örneğin, azalan dizidestart > stop).
        
                
            
            
Yorum yap
Yorumlar