
RxPY - 概述
本章解釋什麼是響應式程式設計,什麼是 RxPY,它的運算子、特性、優點和缺點。
什麼是響應式程式設計?
響應式程式設計是一種程式設計正規化,它處理資料流和變化的傳播。這意味著,當一個元件發出資料流時,變化將透過響應式程式設計庫傳播到其他元件。變化的傳播將持續到到達最終接收器。
使用 RxPY,您可以很好地控制非同步資料流,例如,可以使用 Observable 追蹤對 URL 的請求,並使用 Observer 監聽請求何時完成以獲取響應或錯誤。
RxPY 允許您使用Observables處理非同步資料流,使用Operators(例如 filter、sum、concat、map)查詢資料流,並使用Schedulers利用資料流的併發性。建立 Observable 會得到一個帶有 on_next(v)、on_error(e) 和 on_completed() 方法的 Observer 物件,需要對其進行訂閱才能在事件發生時收到通知。

可以使用管道運算子以鏈式格式使用多個運算子查詢 Observable。
RxPY 提供各種類別的運算子,例如:
數學運算子
轉換運算子
過濾運算子
錯誤處理運算子
實用程式運算子
條件運算子
建立運算子
可連線運算子
本教程將詳細解釋這些運算子。
什麼是 RxPy?
根據 RxPy 官方網站 (https://rxpy.readthedocs.io/en/latest/.) 的定義,RxPY 是一個用於使用可觀察集合和可管道查詢運算子在 Python 中組合非同步和基於事件的程式的庫。
RxPY 是一個支援響應式程式設計的 Python 庫。RxPY 代表Python 的響應式擴充套件。它是一個使用 Observable 來處理響應式程式設計的庫,該庫處理非同步資料呼叫、回撥和基於事件的程式。
RxPy 的特性
在 RxPy 中,以下概念負責處理非同步任務:
Observable
Observable 是一個函式,它建立一個 Observer 並將其附加到具有預期資料流的源,例如 Tweets、計算機相關事件等。
Observer
它是一個帶有 on_next()、on_error() 和 on_completed() 方法的物件,當與 Observable 互動時(例如,傳入 Tweets 等)將被呼叫。
Subscription(訂閱)
建立 Observable 後,需要訂閱它才能執行 Observable。
Operators(運算子)
運算子是一個純函式,它以 Observable 作為輸入,輸出也是一個 Observable。您可以使用管道運算子在 Observable 資料上使用多個運算子。
Subject
Subject 既是 Observable 序列,也是 Observer,可以進行多播,即與已訂閱的多個 Observer 通訊。Subject 是一個冷 Observable,即值將在已訂閱的 Observer 之間共享。
Schedulers(排程器)
RxPy 的一個重要特性是併發性,即允許任務並行執行。為此,RxPy 具有兩個與排程器一起工作的運算子 subscribe_on() 和 observe_on(),它們將決定訂閱任務的執行。
使用 RxPY 的優點
以下是 RxPy 的優點:
在處理非同步資料流和事件方面,RxPY 是一個很棒的庫。RxPY 使用 Observable 來處理響應式程式設計,該程式設計處理非同步資料呼叫、回撥和基於事件的程式。
RxPY 提供了大量的運算子,涵蓋數學、轉換、過濾、實用程式、條件、錯誤處理和連線等類別,在使用響應式程式設計時使生活更加輕鬆。
使用 RxPY 中的排程器可以實現併發性,即多個任務一起工作。
使用 RxPY 可以提高效能,因為它簡化了非同步任務和並行處理的處理。
使用 RxPY 的缺點
使用 Observable 除錯程式碼有點困難。