Aralık ()
x aralığı ()
İleriye dönük olarak, Python'un en son sürümüyle (3'ten itibaren), range () geri çekildi ve xrange () daha sonra range () olarak değiştirildi. Şimdi Python 3'te bu yöntem için sadece bir fonksiyon var, i.e., Aralık (). Python 3'te range () işlevi, python 2'nin xrange() işlevinin eski sürümünü uygulamanın başka bir yoludur.x. Burada ikisini ilişkilendireceğiz.
X aralığı ()
xrange (), range () işlevi gibi bir sayı dizisi oluşturmak için kullanılır.
Sözdizimi
xrange () tanımlamak için kullanılan sözdizimi şöyledir:
xrange(başlangıç, bitiş, adım)İşlev, (dahil) ile başlayıp (dahil değildir) sonuna kadar sayıların aralığını tanımlamak için kullanılır.
parametreler
Gerekli parametrelerin listesi aşağıdadır:
Başlangıç: Sayı dizisinin başlangıç konumu
Bitiş: Sayı dizisinin bitiş konumu
Adım: Dizideki ardışık iki sayı arasındaki ayrım.
Örnekler
Aşağıdaki örnekte, xrange tanımlamanın yollarını kontrol edeceğiz.
Burada sadece son konumu belirteceğiz.
Böylece, bitiş değeri 5 olarak ayarlanır ve ardından aşağıda gösterildiği gibi son konumu yazdırırız:
Şimdi, arama aralığı yöntemini göreceğiz, çağrıyı sonlandıracak sözdizimi şöyle olacaktır:
>>> x = xrange(son)Sonra yazdıracağız.
Yukarıda gösterildiği gibi çıktıdaki aralığı alacağız.
Şimdi hem başlangıç hem de bitiş noktalarını tanımlayacağız. Burada başlangıç noktası 2 ve bitiş noktası 5'tir. Ardından, aşağıda gösterildiği gibi başlangıç ve bitiş konumlarını yazdırdık:
Bundan sonra, başlangıç ve bitiş noktalarımızdan bir sayı dizisi oluşturacağız, i.e., 2 ila 5.
>>> y = xrange(başlangıç,bitiş)
Son olarak, başlangıç noktası, adım ve bitiş noktası tanımlama yöntemini kontrol edeceğiz. Üç parametreyi de tanımladıktan sonra; onları aşağıda gösterilen yönteme benzer şekilde çağıracağız:
Şimdi, bu üç parametre için xrange'ı çağırmak için aşağıdaki sözdizimini kullanacağız:
>>> z = xrange(başlangıç,adım,bitiş)
Aralık ()
Range (), bir liste oluşturmak için kullanılır ve birden çok yineleme için daha hızlı bir işlevdir.
Sözdizimi
Aşağıdaki sözdizimi kullanılır:
>>> aralık (başlangıç, bitiş, adım)Örnekler
İlk durum için, son değeri tanımlayacağız. Bunun için kullanılan sözdizimi:
>>> aralık(son)Bu nedenle, aşağıda verilen örnekte, aralığın bitiş değeri olarak 3 kullanacağız. Yazdırdığımızda, son değer hariç değerleri döndürür.
Sonraki örnekte, başlangıç ve bitiş noktasını tanımlama örneğini kullanıyoruz. Değer 1'den başlayacak ve 10'da bitecek (hariç tutularak). Başlangıç noktası dahil edilir, ancak bitiş noktası atlanır. Sözdizimi aşağıda verilene benzer:
>>> aralık (başlangıç, bitiş)Böylece, sırasıyla 1 ve 10 olan başlangıç noktasını ve ardından bitiş noktasını tanımlarız.
Şimdi, sonraki örnekte, step fonksiyonuna sahip olacağız. Dizideki herhangi iki nokta arasındaki boşluğu tanımlayan fonksiyon. Değer 0'dan başlayacak ve 10'da bitecek (dışlayarak). Kullanılan sözdizimi aşağıda verilmiştir:
>>> aralık (başlangıç, adım, bitiş)Örnek aşağıda verilmiştir, burada 2 adım değeridir.
Avantajlar
Aralık ()
Yinelemeler birden çok kez yapılacaksa daha hızlıdır. range () yalnızca gerçek zamanlı tamsayı nesne değerlerine sahiptir. Bellek açısından, iyi çalışmıyor.
xrange()
Her seferinde tamsayı nesnesini yeniden oluşturması gerekir. xrange(), dilimleri ve liste yöntemlerini desteklemediğinden değil. xrange() aynı miktarda bellek alır. Bu nedenle, performans söz konusu olduğunda, özellikle kullanıcılar daha büyük bir aralık değeri üzerinde yineleme yaparken xrange() çok daha iyi performans gösterir.
Python 2 ve Python 3 aralığı ve xrange arasındaki benzerlikler
Python 2'nin xrange'ı, Python 3'ün aralık nesne değerine çok benzeyen dize biçiminde açıklayıcı bir temsile sahiptir.
Python 2'deki xrange() değeri yinelenebilir, Python 3'te de rang() değeri yinelenebilir.
xrange() ve range() her ikisinin de bir adım, bitiş ve başlangıç noktası değerleri vardır. Her iki durumda da adım isteğe bağlı bir alandır, başlangıç değeri de öyle.
Hem xrange of Python 2 hem de 3, ileri veya geri sırayla dizine eklenebilen uzunluğu destekler. İşte aynı bir örnek:
range() ve xrange() arasındaki farklar
xrange() yalnızca tembel değerlendirmenin ihtiyaç duyduğu değerlere sahip oluşturucu nesnesini değerlendirdiğinden, aralık() üzerinde uygulanması daha hızlıdır. range() listeyi döndürmeye yardımcı olur ve kullanılabilecek tüm nesnelere sahiptir, oysa xrange() bir listeyle ilişkili nesneleri döndürür ve bunlara uygulanamaz, böylece onu bir dezavantaj olarak sayabiliriz.
range() işlevinde kullanılan değişken, aralığın değerini depolar ve bu nedenle, değişkenler nedeniyle yalnızca belleğin bir kısmını alan xrange() ile karşılaştırıldığında çok fazla bellek alır. range() bir aralık nesnesi döndürürken, xrange() bir üreteç nesnesi döndürür.
Aralık (1, 7, 2) işlevi [1, 3, 5] çıkışını döndürür ve xrange(1, 7, 2) girişi [1, 3, 5] çıkışını üretir. Bu şekilde desende benzer olduklarını varsayabiliriz.
Sonuç
range() ve xrange() yukarıda tartışıldığı gibi farklı özelliklere sahiptir. Bu eğitimde bahsedilen tüm karşılaştırmalar ve örnekler, okuyucuların gereksinimlerine göre tercih ettikleri yöntemi daha iyi seçmelerine yardımcı olacaktır.