RxPY-연산자

이 장에서는 RxPY의 연산자에 대해 자세히 설명합니다. 이러한 연산자는 다음과 같습니다.

  • 운영자와 작업
  • 수학 연산자
  • 변환 연산자
  • 필터링 연산자
  • 오류 처리 연산자
  • 유틸리티 운영자
  • 조건부 연산자
  • 생성 연산자
  • 연결 가능한 운영자
  • 연산자 결합

리 액티브 (Rx) 파이썬에는 거의 많은 연산자가있어 파이썬 코딩을 쉽게 할 수 있습니다. 예를 들어 이러한 여러 연산자를 함께 사용할 수 있으며 문자열로 작업하는 동안 맵, 필터, 병합 연산자를 사용할 수 있습니다.

운영자와 작업

pipe () 메서드를 사용하여 여러 연산자와 함께 작업 할 수 있습니다. 이 방법을 사용하면 여러 연산자를 함께 연결할 수 있습니다.

다음은 연산자를 사용하는 작업 예입니다.

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

위의 예에서 우리는 값 1, 2, 3을 취하는 of () 메서드를 사용하여 관찰 가능 항목을 만들었습니다. 이제이 관찰 대상 항목에서 다음과 같이 pipe () 메서드를 사용하여 여러 연산자를 사용하여 다른 작업을 수행 할 수 있습니다. 위. 연산자의 실행은 주어진 관찰 가능 항목에서 순차적으로 진행됩니다.

연산자로 작업하려면 먼저 아래와 같이 가져옵니다.

from rx import of, operators as op

여기에 작동 예가 있습니다-

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)))

위의 예에는 필터 연산자를 사용하여 짝수를 필터링하고 나중에 감소 연산자를 사용하여 추가하는 숫자 목록이 있습니다.

Output

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

여기에 우리가 논의 할 연산자 목록이 있습니다.

  • Observable 생성
  • 수학 연산자
  • 변환 연산자
  • 필터링 연산자
  • 오류 처리 연산자
  • 유틸리티 운영자
  • Conditional
  • Connectable
  • 연산자 결합

Observable 생성

다음은 관찰 가능한 것입니다. 우리는 창조 카테고리에서 논의 할 것입니다.

예시보기

주목할 만한 기술
창조하다 이 메서드는 관찰 가능 항목을 만드는 데 사용됩니다.
이 옵저버 블은 아무것도 출력하지 않고 완전한 상태를 직접 방출합니다.
이 메소드는 완전한 상태에 도달하지 않는 Observable을 생성합니다.
던지다 이 메서드는 오류를 발생시키는 옵저버 블을 생성합니다.
에서_ 이 메소드는 주어진 배열 또는 객체를 관찰 가능 항목으로 변환합니다.
간격 이 메서드는 시간 초과 후에 생성 된 일련의 값을 제공합니다.
다만 이 메서드는 주어진 값을 관찰 가능 값으로 변환합니다.
범위 이 메서드는 주어진 입력에 따라 정수 범위를 제공합니다.
반복 _ 값 이 방법은 주어진 개수에 따라 주어진 값을 반복하는 관찰 가능 항목을 생성합니다.
스타트 이 메서드는 함수를 입력으로 받아 입력 함수에서 값을 반환하는 관찰 가능 항목을 반환합니다.
시간제 노동자 이 메서드는 시간 초과가 완료된 후 순서대로 값을 내 보냅니다.

수학 연산자

수학 연산자 범주에서 논의 할 연산자는 다음과 같습니다. −

예시보기

운영자 기술
평균 이 연산자는 주어진 소스 관찰 가능 항목에서 평균을 계산하고 평균 값을 가질 관찰 가능 항목을 출력합니다.
연결 이 연산자는 두 개 이상의 Observable을 가져와 시퀀스의 모든 값이있는 단일 Observable을 제공합니다.
카운트

이 연산자는 값이있는 Observable을 가져 와서 단일 값을 갖는 Observable로 변환합니다. count 함수는 조건 자 함수를 선택적 인수로받습니다.

함수는 부울 유형이며 조건을 충족하는 경우에만 출력에 값을 추가합니다.

최대 이 연산자는 Observable 소스에서 최대 값을 가진 Observable을 제공합니다.
이 연산자는 Observable 소스에서 최소값으로 Observable을 제공합니다.
줄이다 이 연산자는 소스 Observable에서 오는 값에 사용되는 누산기 함수라는 함수를 취하고 누산기 함수에 전달 된 선택적 시드 값과 함께 관측 가능 형식으로 누적 된 값을 반환합니다.
합집합 이 연산자는 소스 옵저버 블의 모든 값의 합과 함께 옵저버 블을 반환합니다.

변환 연산자

변환 연산자 범주에서 논의 할 연산자는 다음과 같습니다.

예시보기

운영자 범주
완충기 이 연산자는 관찰 가능한 소스에서 모든 값을 수집하고 주어진 경계 조건이 충족되면 일정한 간격으로이를 방출합니다.
ground_by 이 연산자는 주어진 key_mapper 함수를 기반으로 관찰 가능한 소스에서 오는 값을 그룹화합니다.
지도 이 연산자는 주어진 mapper_func의 출력을 기반으로 관찰 가능한 소스의 각 값을 새 값으로 변경합니다.
주사 이 연산자는 소스 Observable에서 오는 값에 누산기 함수를 적용하고 새로운 값으로 Observable을 반환합니다.

필터링 연산자

필터링 연산자 범주에서 논의 할 연산자는 다음과 같습니다.

예시보기

운영자 범주
디 바운스 이 연산자는 주어진 시간 범위가 지날 때까지 관찰 가능한 소스의 값을 제공하고 나머지 시간은 무시합니다.
뚜렷한 이 연산자는 관찰 가능한 소스와 구별되는 모든 값을 제공합니다.
element_at 이 연산자는 주어진 인덱스에 대해 관찰 가능한 소스의 요소를 제공합니다.
필터 이 연산자는 주어진 조건 자 함수를 기반으로 관찰 가능한 소스에서 값을 필터링합니다.
먼저 이 연산자는 소스에서 관찰 가능한 첫 번째 요소를 제공합니다.
ignore_elements 이 연산자는 관찰 가능한 소스의 모든 값을 무시하고 완료 또는 오류 콜백 함수 호출 만 실행합니다.
마지막 이 연산자는 관찰 가능한 소스의 마지막 요소를 제공합니다.
건너 뛰기 이 연산자는 입력으로 취해진 카운트 항목의 첫 번째 발생을 건너 뛰는 관찰 가능 항목을 반환합니다.
skip_last 이 연산자는 입력으로 취해진 카운트 항목의 마지막 발생을 건너 뛰는 관찰 가능 항목을 반환합니다.
취하다 이 연산자는 주어진 개수에 따라 연속적인 순서로 소스 값 목록을 제공합니다.
take_last 이 연산자는 주어진 개수에 따라 마지막부터 연속 순서로 소스 값 목록을 제공합니다.

오류 처리 연산자

오류 처리 연산자 범주에서 논의 할 연산자는 다음과 같습니다.-

예시보기

운영자 기술
잡기 이 연산자는 예외가있을 때 관찰 가능한 소스를 종료합니다.
다시 해 보다 이 연산자는 오류가있을 때 관찰 가능한 소스에서 재 시도하고 재시도 횟수가 완료되면 종료됩니다.

유틸리티 운영자

다음은 유틸리티 운영자 범주에서 논의 할 운영자입니다.

예시보기

운영자 기술
지연 이 운영자는 주어진 시간 또는 날짜에 따라 소스 관찰 가능한 방출을 지연시킵니다.
구체화하다 이 연산자는 명시 적 알림 값의 형태로 방출 된 값으로 관찰 가능한 소스의 값을 변환합니다.
time_interval 이 연산자는 관찰 가능한 소스의 값 사이에 경과 된 시간을 제공합니다.
타임 아웃 이 연산자는 경과 된 시간 후에 관찰 가능한 소스의 모든 값을 제공하거나 그렇지 않으면 오류를 트리거합니다.
타임 스탬프 이 연산자는 관찰 가능한 소스의 모든 값에 타임 스탬프를 첨부합니다.

조건부 및 부울 연산자

조건부 및 부울 연산자 범주에서 논의 할 연산자는 다음과 같습니다.

예시보기

운영자 기술
모두 이 연산자는 관찰 가능한 소스의 모든 값이 주어진 조건을 충족하는지 확인합니다.
포함 이 연산자는 주어진 값이 존재하고 소스 Observable의 값이면 true 또는 false 값으로 Observable을 반환합니다.
default_if_empty 이 연산자는 관찰 가능한 소스가 비어있는 경우 기본값을 반환합니다.
sequence_equal 이 연산자는 두 개의 Observable 시퀀스 또는 값의 배열을 비교하고 값이 true 또는 false 인 Observable을 반환합니다.
skip_until 이 연산자는 두 번째 Observable이 값을 내보낼 때까지 Observable 소스에서 값을 버립니다.
skip_while 이 연산자는 전달 된 조건을 만족하는 소스 Observable의 값으로 Observable을 반환합니다.
take_until 이 연산자는 두 번째 Observable이 값을 방출하거나 종료 된 후 Observable 소스에서 값을 버립니다.
take_while 이 연산자는 조건이 실패 할 때 관찰 가능한 소스에서 값을 버립니다.

연결 가능한 운영자

Connectable Operator 범주에서 논의 할 연산자는 다음과 같습니다.

예시보기

운영자 기술
출판하다 이 메서드는 Observable을 연결 가능한 Observable로 변환합니다.
ref_count 이 연산자는 관찰 가능 항목을 일반 관찰 가능 항목으로 만듭니다.
다시 하다 이 메서드는 replaySubject와 유사하게 작동합니다. 이 메소드는 Observable이 이미 방출되고 일부 구독자가 구독에 늦더라도 동일한 값을 반환합니다.

연산자 결합

다음은 결합 연산자 범주에서 논의 할 연산자입니다.

예시보기

운영자 기술
Combine_latest 이 연산자는 입력으로 주어진 옵저버 블에 대한 튜플을 생성합니다.
병합 이 연산자는 주어진 옵저버 블을 병합합니다.
start_with 이 연산자는 주어진 값을 가져 와서 관찰 가능한 소스의 시작 부분에 전체 시퀀스를 반환합니다.
지퍼 이 연산자는 주어진 옵저버 블의 첫 번째 값을 취함으로써 형성되는 튜플 형태의 값이있는 옵저버 블을 반환합니다.