"yield from"은 특히 다음과 같은 시나리오에서 유용합니다.
생성기에서 데이터 읽기:
<code class="python">def reader(): for i in range(4): yield '< ' + str(i) for i in reader(): print(i) # Prints '< 0', '< 1', '< 2', '< 3'
"yield from"은 생성된 데이터를 반복하는 편리한 방법을 제공합니다. 다른 생성기에 의해.
코루틴으로 데이터 전송:
<code class="python">def writer(): while True: w = (yield) print('> ', w) w = writer() for i in range(4): w.send(i) # Prints '> 0', '> 1', '> 2', '> 3'</code>
"yield from"을 사용하면 "작성자" 코루틴이 데이터를 원활하게 수신할 수 있습니다. 외부 소스에서 전송됩니다.
"yield from"은 어떤 의미에서 마이크로 스레드의 동작을 반영합니다. that:
"yield from"의 실제 적용 중 하나는 데이터 읽기 및 쓰기를 단일 기능으로 결합하는 것입니다. 다음 예를 고려해보세요.
<code class="python">def data_handler(): for i in reader(): yield from writer(i) for i in data_handler(): print(i) # Prints the data written by 'writer'</code>
"data_handler" 함수는 "yield from"을 사용하여 데이터를 "reader" 생성기에서 "writer" 코루틴으로 순차적으로 전달하여 간소화된 데이터 처리 파이프라인을 생성합니다.
위 내용은 Python 3.3의 \'yield from\'의 다양한 사용 사례와 그 장점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!