piton

Python xrange vs. Aralık

Python xrange vs. Aralık
Python sürüm 2'ye kadar.x, sağlanan bir aralıktaki tam sayıların listesini oluşturmak için bu dilde kullanılan toplam iki temel yöntem vardı. İki yöntem aşağıda listelenmiştir:

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.

How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Linux Oyunları Geliştirmek için Ücretsiz ve Açık Kaynaklı Oyun Motorları
Bu makale, Linux'ta 2D ve 3D oyunlar geliştirmek için kullanılabilecek ücretsiz ve açık kaynaklı oyun motorlarının bir listesini kapsayacaktır. Bu tür...
Linux Eğitimi için Tomb Raider'ın Gölgesi
Shadow of the Tomb Raider, Eidos Montreal tarafından yaratılan bir aksiyon-macera oyunu serisi olan Tomb Raider serisine eklenen on ikinci oyundur. Oy...