📜  RxPY-最新版本更新

📅  最后修改于: 2020-11-06 06:38:31             🧑  作者: Mango


在本教程中,我们使用RxPY版本3和Python版本3.7.3。 RxPY版本3的工作方式与早期版本(即RxPY版本1)略有不同。

在本章中,我们将讨论这两个版本之间的差异以及在更新Python和RxPY版本时需要进行的更改。

在RxPY中可见

在RxPy版本1中,Observable是一个单独的类-

from rx import Observable

要使用Observable,您必须按以下方式使用它-

Observable.of(1,2,3,4,5,6,7,8,9,10)

在RxPy版本3中,Observable直接是rx包的一部分。

import rx
rx.of(1,2,3,4,5,6,7,8,9,10)

RxPy中的运算符

在版本1中,运算符是Observable类中的方法。例如,要使用运算符,我们必须导入Observable,如下所示:

from rx import Observable

运算符用作“可观察”。运算符,例如,如下所示-

Observable.of(1,2,3,4,5,6,7,8,9,10)\
   .filter(lambda i: i %2 == 0) \
   .sum() \
   .subscribe(lambda x: print("Value is {0}".format(x)))

在RxPY版本3的情况下,运算符是函数,并且按以下方式导入和使用-

import rx
from rx import operators as ops
rx.of(1,2,3,4,5,6,7,8,9,10).pipe(
   ops.filter(lambda i: i %2 == 0),
   ops.sum()
).subscribe(lambda x: print("Value is {0}".format(x)))

使用Pipe()方法链接运算符

在RxPy版本1中,如果必须在一个可观察对象上使用多个运算符,则必须按以下步骤进行操作-

from rx import Observable
Observable.of(1,2,3,4,5,6,7,8,9,10)\
   .filter(lambda i: i %2 == 0) \
   .sum() \
   .subscribe(lambda x: print("Value is {0}".format(x)))

但是,对于RxPY版本3,您可以使用pipe()方法和多个运算符,如下所示-

import rx
from rx import operators as ops
rx.of(1,2,3,4,5,6,7,8,9,10).pipe(
   ops.filter(lambda i: i %2 == 0),
   ops.sum()
).subscribe(lambda x: print("Value is {0}".format(x)))