>  기사  >  백엔드 개발  >  Python에서 Yield와 Return의 차이점은 무엇입니까?

Python에서 Yield와 Return의 차이점은 무엇입니까?

PHPz
PHPz앞으로
2023-09-15 15:37:021017검색

Python에서 Yield와 Return의 차이점은 무엇입니까?

Python에서 generator 정의는 yield 문을 사용하여 수행됩니다. 따라서 yield가 실제로 사용되는 용도에 대해 자세히 알아보기 전에 generators의 개요를 이해하는 것이 중요합니다. Python을 처음 사용하는 경우 이전에 Python 생성기를 사용해 본 적이 있을 가능성이 높습니다. 생성기는 Python에서 중요한 역할을 합니다. Python에서는 생성기를 사용하여 반복자를 생성할 수 있지만 프로세스는 약간 다른 형식을 취합니다.

Python 생성기는 동적으로 일시 중지 및 재개하고 결과 시퀀스를 생성할 수 있는 함수입니다. 난수를 생성하는 데에도 사용할 수 있습니다. Python 2.2에서는 생성기가 선택적 기능으로 처음 도입되었습니다. Python 2.3에서는 시행됩니다. Python 2.5에서는 이미 충분한 기능을 갖추고 있었지만 생성기 기능이 크게 향상되었습니다.

이전 버전과의 호환성을 유지하기 위해 Python 2.2에 생성기가 추가되면서 "yield"라는 새로운 키워드 가 도입되었습니다. 생성기를 사용하려면 _future_ 모듈에서 가져와야 합니다. Python 2.3 릴리스에서 생성기가 기본값이 되었을 때, 변경 사항이 더 이상 필요하지 않다는 사실을 반영하기 위해 변경되었습니다.

yield 문을 사용하면 함수 실행을 일시적으로 중지한 다음 호출자에게 값을 반환하는 동시에 나중에 복원할 수 있도록 함수 상태를 저장합니다. 이는 반환 값을 얻은 후에도 전체 생성기를 다시 시작할 수 있음을 의미합니다. 함수 실행은 함수를 호출한 사람에게 값을 반환하는 return 문으로 종료됩니다. 누락된 경우 함수는 아무것도 반환하지 않습니다.

파이썬 수율이란 무엇입니까?

Python 생성기에서 yield 문은 함수의 return을 대체하여 지역 변수를 삭제하지 않고 생성기를 호출한 사람에게 값을 반환합니다. Python 프로그래밍에서 yield 문 실행 기능을 더 잘 이해하려면 먼저 생성기에 대해 잘 알고 있어야 합니다.

생성기 함수와 일반 함수의 차이점은 생성기 함수 정의에 "yield" 문이 있다는 것입니다. 이는 이 함수를 호출하는 사람에게 반환될 생성기 개체를 식별하는 "yield" 키워드로 시작됩니다.

Python에서 "생성기"라는 특정 유형의 함수는 함수를 호출한 사람에게 데이터 값을 반환하지 않고 대신 다른 생성기 개체를 반환합니다. yield 키워드를 사용하면 함수 실행을 일시적으로 중지하고 상태를 저장하고 나중에 함수를 다시 시작할 수 있습니다.

아래 예를 보세요 -

으아악

출력

으아악

파이썬 리턴이란 무엇인가요?

yield 문과 달리 return 문은 함수를 호출한 함수에 값을 다시 전달하면서 함수를 종료시킵니다. 본질적으로 보다 절차적인 함수는 호출자에게 명시적으로 아무 것도 반환하지 않고 대신 호출 함수로 다시 전송되는 값을 반환합니다. 함수에는 여러 개의 return 문이 있을 수 있지만 각 문을 호출할 때마다 그 중 하나만 호출할 수 있습니다.

return 문은 거의 항상 함수 블록의 맨 끝에 배치되며, 그 목적은 함수 내에 포함된 모든 문을 실행한 최종 결과를 반환하는 것입니다. 그러나 return 문이 함수 블록 앞에 나타나 블록의 모든 후속 문 실행을 중지할 수도 있습니다. 이는 함수 실행을 방지하기 위해 사용되는 경우 발생할 수 있습니다. 이로 인해 호출자는 프로그램 실행을 즉시 다시 시작합니다. return 개체에 값이 제공되지 않으면 "None" 반환 개체 유형은 Python의 반환 개체 유형과 동일합니다.

다음 예에서는 Python에서 return을 사용하는 방법을 보여줍니다. -

으아악

출력

으아악

파이썬에서 수익률과 수익률의 차이점

다음 표는 Python에서 Yield와 Return의 주요 차이점을 강조합니다. -

비교적 기본 출력 반품
기본 대부분의 경우 일반적인 Python 함수를 생성기로 변환하려면 항복 함수를 사용해야 합니다. 대부분의 경우 실행 종료는 호출한 문에 결과를 "반환"하는 return 키워드를 사용하여 신호를 보냅니다.
특징 지역 변수를 잃지 않고 함수 실행을 일시 중지하기 위해 함수 반환을 대체합니다. 함수를 종료하고 호출자에게 값을 반환합니다.
사용 생성기가 호출자에게 중간 결과를 제공할 때 호출자는 이 함수를 사용합니다. 함수가 값을 전달할 때 이것을 사용해야 합니다.
실행 yield 문 뒤에 작성된 코드는 아래 함수 호출에서 실행됩니다. return 문 다음에 작성된 코드는 실행되지 않지만.
컴파일 여러 번 실행하는 기능이 있습니다. 한 번에 한 번만 실행됩니다.

결론

yield 문은 생성기 개체를 생성하고 프로그램을 종료하지 않고도 호출자에게 여러 값을 반환할 수 있는 반면, return 문은 함수 내부에서 호출자에게 값을 반환하여 프로그램을 종료하는 데 사용됩니다. return 문은 함수 내에서 호출자에게 값을 반환하는 데 사용됩니다.

위 내용은 Python에서 Yield와 Return의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
이전 기사:Python의 HDF5 파일다음 기사:Python의 HDF5 파일