RxPY - Operatörler

Bu bölümde, RxPY'deki operatörler ayrıntılı olarak açıklanmaktadır. Bu operatörler şunları içerir -

  • Operatörlerle Çalışma
  • Matematiksel operatörler
  • Dönüşüm operatörleri
  • Filtreleme operatörleri
  • Hata işleme operatörleri
  • Kamu hizmeti operatörleri
  • Koşullu operatörler
  • Oluşturma operatörleri
  • Bağlanabilir operatörler
  • Operatörleri birleştirmek

Reaktif (Rx) python, python kodlamayla hayatı kolaylaştıran neredeyse birçok operatöre sahiptir. Bu birden çok operatörü birlikte kullanabilirsiniz, örneğin dizelerle çalışırken harita, filtre, birleştirme operatörlerini kullanabilirsiniz.

Operatörlerle Çalışma

Pipe () yöntemini kullanarak birden çok operatörle birlikte çalışabilirsiniz. Bu yöntem, birden çok operatörün birbirine zincirlenmesine izin verir.

İşte operatörleri kullanmanın çalışan bir örneği -

test = of(1,2,3) // an observable
subscriber = test.pipe(
   op1(),
   op2(),
   op3()
)

Yukarıdaki örnekte, 1, 2 ve 3 değerlerini alan () yöntemini kullanarak gözlemlenebilir bir yöntem oluşturduk. Şimdi, bu gözlemlenebilir üzerinde, gösterildiği gibi pipe () yöntemini kullanarak herhangi bir sayıda operatörü kullanarak farklı bir işlem gerçekleştirebilirsiniz. yukarıda. Operatörlerin yürütülmesi, verilen gözlemlenebilir üzerinde sırayla devam edecektir.

Operatörlerle çalışmak için önce aşağıda gösterildiği gibi içe aktarın -

from rx import of, operators as op

İşte çalışan bir örnek -

testrx.py

from rx import of, operators as op
test = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
sub1 = test.pipe(
   op.filter(lambda s: s%2==0),
   op.reduce(lambda acc, x: acc + x)
)
sub1.subscribe(lambda x: print("Sum of Even numbers is {0}".format(x)))

Yukarıdaki örnekte, bir filtre operatörü kullanarak çift sayıları filtrelediğimiz ve daha sonra bir azaltma operatörü kullanarak eklediğimiz bir sayı listesi vardır.

Output

E:\pyrx>python testrx.py
Sum of Even numbers is 30

İşte tartışacağımız Operatörlerin bir listesi -

  • Gözlemlenebilirler Yaratmak
  • Matematiksel operatörler
  • Dönüşüm operatörleri
  • Filtreleme operatörleri
  • Hata işleme operatörleri
  • Kamu hizmeti operatörleri
  • Conditional
  • Connectable
  • Operatörleri birleştirmek

Gözlemlenebilirler Yaratmak

Aşağıda gözlemlenebilirler var, Yaratılış kategorisinde tartışacağız

Örnekleri Göster

Gözlenebilir Açıklama
oluşturmak Bu yöntem, bir gözlemlenebilir oluşturmak için kullanılır.
boş Bu gözlemlenebilir herhangi bir çıktı vermeyecek ve doğrudan tam durumu yaymayacaktır.
asla Bu yöntem asla tam duruma ulaşamayacak bir gözlemlenebilirlik yaratır.
atmak Bu yöntem, bir hata atacak bir gözlemlenebilir yaratacaktır.
from_ Bu yöntem, verilen dizi veya nesneyi gözlemlenebilir hale getirecektir.
Aralık Bu yöntem, bir zaman aşımından sonra üretilen bir dizi değeri verecektir.
sadece Bu yöntem, verilen değeri gözlemlenebilir hale getirecektir.
Aralık Bu yöntem, verilen girdiye göre bir tam sayı aralığı verecektir.
tekrar_değer Bu yöntem, sayıya göre verilen değeri tekrar edecek bir gözlemlenebilir yaratacaktır.
Başlat Bu yöntem, bir işlevi girdi olarak alır ve girdi işlevinden değer döndüren bir gözlemlenebilir döndürür.
zamanlayıcı Bu yöntem, zaman aşımı tamamlandıktan sonra değerleri sırayla yayınlayacaktır.

Matematiksel operatörler

Matematiksel operatör kategorisinde tartışacağımız operatörler aşağıdaki gibidir: -

Örnekleri Göster

Şebeke Açıklama
ortalama Bu operatör, verilen kaynaktan gözlemlenebilir ortalamayı hesaplayacak ve ortalama değere sahip olacak bir gözlemlenebilir çıktı verecektir.
concat Bu operatör, iki veya daha fazla gözlemlenebilir nesneyi alacak ve sıradaki tüm değerlere sahip tek bir gözlemlenebilir öğe verecektir.
Miktar

Bu operatör, değerleri olan bir Gözlemlenebilir'i alır ve onu tek bir değere sahip olacak bir Gözlemlenebilir'e dönüştürür. Count işlevi, isteğe bağlı bir bağımsız değişken olarak yüklem işlevini alır.

İşlev boolean tipindedir ve yalnızca koşulu sağladığında çıktıya değer katacaktır.

max Bu operatör, gözlemlenebilir kaynaktan maksimum değeri olan bir gözlemlenebilir verecektir.
min Bu operatör, gözlemlenebilir kaynaktan minimum değeri ile bir gözlemlenebilir verecektir.
azaltmak Bu operatör, gözlemlenebilir kaynaktan gelen değerler üzerinde kullanılan biriktirici işlevi adı verilen bir işlevi alır ve biriken değerleri, biriktirici işlevine geçirilen isteğe bağlı bir çekirdek değerle gözlemlenebilir biçiminde döndürür.
toplam Bu operatör, kaynak gözlemlenebilirlerden tüm değerlerin toplamıyla birlikte bir gözlemlenebilir döndürecektir.

Dönüşüm operatörleri

Dönüşüm operatörü kategorisinde tartışacağımız operatörler aşağıda belirtilmiştir -

Örnekleri Göster

Şebeke Kategori
tampon Bu operatör, gözlemlenebilir kaynaktan tüm değerleri toplayacak ve verilen sınır koşulu karşılandığında bunları düzenli aralıklarla yayınlayacaktır.
ground_by Bu operatör, gözlemlenebilir kaynaktan gelen değerleri verilen key_mapper fonksiyonuna göre gruplayacaktır.
harita Bu operatör, gözlemlenebilir kaynaktan her bir değeri, verilen mapper_func'un çıktısına bağlı olarak yeni bir değere değiştirecektir.
taramak Bu operatör, gözlemlenebilir kaynaktan gelen değerlere bir toplayıcı işlevi uygulayacak ve yeni değerlerle bir gözlemlenebilir döndürür.

Filtreleme operatörleri

Filtreleme operatörü kategorisinde tartışacağımız operatörler aşağıda verilmiştir -

Örnekleri Göster

Şebeke Kategori
ifşa etmek Bu operatör, verilen zaman aralığına kadar gözlemlenebilir kaynaktan değerleri verecek ve geri kalan süreleri görmezden gelecektir.
farklı Bu operatör, gözlemlenebilir kaynaktan farklı olan tüm değerleri verecektir.
element_at Bu operatör, verilen indeks için gözlemlenebilir kaynaktan bir eleman verecektir.
filtre Bu operatör, verilen dayanak fonksiyonuna dayalı olarak gözlemlenebilir kaynaktan değerleri filtreleyecektir.
ilk Bu operatör, gözlemlenebilir kaynaktan ilk öğeyi verecektir.
ignore_elements Bu operatör, gözlemlenebilir kaynaktan gelen tüm değerleri yok sayacak ve yalnızca geri arama işlevlerini tamamlamak veya hata vermek için çağrıları yürütecektir.
son Bu operatör, gözlemlenebilir kaynaktan son öğeyi verecektir.
atlama Bu operatör, girdi olarak alınan sayım öğelerinin ilk oluşumunu atlayacak bir gözlemlenebilir öğeyi geri verecektir.
skip_last Bu operatör, girdi olarak alınan sayım öğelerinin son oluşumunu atlayacak bir gözlemlenebilir öğeyi geri verecektir.
almak Bu operatör, verilen sayıya göre sürekli sırayla kaynak değerlerinin bir listesini verecektir.
take_last Bu operatör, verilen sayıya göre sondan itibaren sürekli sırayla kaynak değerlerinin bir listesini verecektir.

Hata işleme operatörleri

Hata işleme operatörü kategorisinde tartışacağımız operatörler şunlardır: -

Örnekleri Göster

Şebeke Açıklama
tutmak Bu operatör, bir istisna olduğunda gözlemlenebilir kaynağı sonlandıracaktır.
yeniden dene Bu operatör, bir hata olduğunda gözlemlenebilir kaynağı yeniden deneyecek ve yeniden deneme sayımı tamamlandığında sona erecektir.

Kamu hizmeti operatörleri

Aşağıdakiler, Hizmet operatörü kategorisinde tartışacağımız operatörlerdir.

Örnekleri Göster

Şebeke Açıklama
gecikme Bu operatör, kaynak gözlemlenebilir emisyonu verilen saat veya tarihe göre geciktirecektir.
gerçekleştirmek Bu operatör, gözlemlenebilir kaynaktan değerleri, açık bildirim değerleri şeklinde yayılan değerlerle dönüştürür.
Zaman aralığı Bu operatör, gözlemlenebilir kaynaktan değerler arasında geçen süreyi verecektir.
zaman aşımı Bu operatör, geçen süreden sonra gözlemlenebilir kaynaktan tüm değerleri verecek veya aksi takdirde bir hatayı tetikleyecektir.
zaman damgası Bu operatör, gözlemlenebilir kaynaktan gelen tüm değerlere bir zaman damgası ekleyecektir.

Koşullu ve Boole operatörleri

Koşullu ve Boole Operatör kategorisinde tartışacağımız operatörler aşağıda verildiği gibidir -

Örnekleri Göster

Şebeke Açıklama
herşey Bu operatör, gözlemlenebilir kaynaktan gelen tüm değerlerin verilen koşulu karşılayıp karşılamadığını kontrol edecektir.
içerir Bu operatör, verilen değer mevcutsa ve gözlemlenebilir kaynağın değeriyse doğru veya yanlış değerine sahip bir gözlemlenebilir döndürecektir.
default_if_empty Bu operatör, gözlemlenebilir kaynak boşsa varsayılan bir değer döndürecektir.
sequal_equal Bu operatör, iki gözlemlenebilir diziyi veya bir dizi değeri karşılaştıracak ve doğru veya yanlış değerine sahip bir gözlemlenebilir döndürür.
skip_until Bu operatör, ikinci gözlemlenebilir bir değer yayınlayana kadar, gözlemlenebilir kaynaktan değerleri atacaktır.
geç_mek Bu operatör, geçirilen koşulu karşılayan, gözlemlenebilir kaynaktan değerlere sahip bir gözlemlenebilir döndürecektir.
take_until Bu operatör, ikinci gözlemlenebilir bir değer yayınladıktan veya sonlandırıldıktan sonra gözlemlenebilir kaynaktan değerleri atacaktır.
take_ while Bu operatör, koşul başarısız olduğunda gözlemlenebilir kaynaktan değerleri atacaktır.

Bağlanabilir Operatörler

Bağlanabilir Operatör kategorisinde tartışacağımız operatörler şunlardır:

Örnekleri Göster

Şebeke Açıklama
Yayınla Bu yöntem, gözlenebilir olanı bağlanabilir bir gözlemlenebilir hale getirecektir.
ref_count Bu operatör, gözlenebilir olanı normal bir gözlemlenebilir hale getirecektir.
tekrar oynatmak Bu yöntem replaySubject'e benzer şekilde çalışır. Bu yöntem, gözlemlenebilir zaten yayınlamış ve bazı aboneler abonelikte gecikmiş olsa bile aynı değerleri döndürecektir.

Operatörleri Birleştirme

Aşağıdakiler, Birleştirme operatörü kategorisinde tartışacağımız operatörlerdir.

Örnekleri Göster

Şebeke Açıklama
Comb_latest Bu operatör, girdi olarak verilen gözlemlenebilir için bir tuple oluşturacaktır.
birleştirmek Bu operatör, verilen gözlenebilirleri birleştirecek.
ile başla Bu operatör verilen değerleri alacak ve gözlemlenebilir kaynağın başlangıcında tam diziyi geri toplayacaktır.
zip Bu operatör, verilen gözlemlenebilirin ilk değeri alınarak oluşturulan bir demet formundaki değerlere sahip bir gözlemlenebilir döndürür.