RxPY-概要

この章では、リアクティブプログラミングとは何か、RxPYとは何か、その演算子、機能、長所と短所について説明します。

リアクティブプログラミングとは何ですか?

リアクティブプログラミングはプログラミングパラダイムであり、データフローと変更の伝播を扱います。これは、データフローが1つのコンポーネントによって発行されると、変更がリアクティブプログラミングライブラリによって他のコンポーネントに伝播されることを意味します。変更の伝播は、最終的な受信者に到達するまで続きます。

RxPYを使用すると、非同期データストリームを適切に制御できます。たとえば、URLに対して行われたリクエストは、observableを使用して追跡でき、オブザーバーを使用して、リクエストが完了したときに応答またはエラーをリッスンできます。

RxPYは、を使用して非同期データストリームを処理することを提供します Observables、を使用してデータストリームをクエリします Operators つまり、フィルター、合計、連結、マップを行い、データストリームの同時実行性を利用します。 Schedulers。Observableを作成すると、on_next(v)、on_error(e)、およびon_completed()メソッドを持つオブザーバーオブジェクトが提供されます。subscribed イベントが発生したときに通知を受け取るようにします。

Observableは、パイプ演算子を使用して、チェーン形式の複数の演算子を使用してクエリできます。

RxPYは、次のようなさまざまなカテゴリの演算子を提供します。

  • 数学演算子

  • 変換演算子

  • フィルタリング演算子

  • エラー処理演算子

  • ユーティリティオペレーター

  • 条件付き演算子

  • 生成演算子

  • 接続可能なオペレーター

これらの演算子については、このチュートリアルで詳しく説明します。

RxPyとは何ですか?

RxPYは次のように定義されます a library for composing asynchronous and event-based programs using observable collections and pipable query operators in Python RxPyの公式ウェブサイトによると、 https://rxpy.readthedocs.io/en/latest/.

RxPYは、リアクティブプログラミングをサポートするPythonライブラリです。RxPyはの略ですReactive Extensions for Python。これは、オブザーバブルを使用して、非同期データ呼び出し、コールバック、およびイベントベースのプログラムを処理するリアクティブプログラミングを処理するライブラリです。

RxPyの機能

RxPyでは、次の概念が非同期タスクの処理を処理します-

観察可能

オブザーバブルは、オブザーバーを作成し、それを、たとえばツイート、コンピューター関連のイベントなどから期待されるデータストリームを持つソースにアタッチする関数です。

観察者

これは、on_next()、on_error()、およびon_completed()メソッドを持つオブジェクトであり、オブザーバブルとの相互作用がある場合、つまりソースが受信ツイートの例などに対して相互作用する場合に呼び出されます。

サブスクリプション

オブザーバブルが作成されたら、オブザーバブルを実行するためにサブスクライブする必要があります。

演算子

演算子は、オブザーバブルを入力として取り込む純粋関数であり、出力もオブザーバブルです。パイプ演算子を使用すると、監視可能なデータに対して複数の演算子を使用できます。

件名

サブジェクトは、監視可能なシーケンスであり、マルチキャストできるオブザーバーです。つまり、サブスクライブしている多くのオブザーバーと話します。サブジェクトはコールドオブザーバブルです。つまり、値はサブスクライブされたオブザーバー間で共有されます。

スケジューラー

RxPyの重要な機能の1つは同時実行性です。つまり、タスクを並行して実行できるようにします。これを実現するために、RxPyには、スケジューラーと連携してサブスクライブされたタスクの実行を決定する2つの演算子subscribe_on()とobserve_on()があります。

RxPYを使用する利点

RxPy −の利点は次のとおりです。

  • RxPYは、非同期データストリームとイベントの処理に関しては素晴らしいライブラリです。RxPYは、オブザーバブルを使用して、非同期データ呼び出し、コールバック、およびイベントベースのプログラムを処理するリアクティブプログラミングを処理します。

  • RxPYは、数学、変換、フィルタリング、ユーティリティ、条件付き、エラー処理、結合カテゴリの演算子の膨大なコレクションを提供し、リアクティブプログラミングで使用すると作業が楽になります。

  • 並行性、つまり複数のタスクを一緒に処理することは、RxPYのスケジューラーを使用して実現されます。

  • RxPYを使用すると、非同期タスクの処理と並列処理が容易になるため、パフォーマンスが向上します。

RxPYを使用するデメリット

  • オブザーバブルを使用してコードをデバッグするのは少し難しいです。