Python 수율 대 반환

Python Yield Vs Return



파이썬은 최근 널리 사용되는 범용 프로그래밍 언어입니다. yield는 생성기 함수를 생성하는 데 사용되는 내장 Python 키워드입니다. 그 기능은 일련의 결과를 생성합니다. 프로그램 실행을 일시 중지하고 결과 값을 호출자에게 다시 보내고 마지막 수율에서 실행을 다시 시작합니다. 그 외에도 yield 함수는 생성된 일련의 결과를 생성기 객체의 형태로 보냅니다. 반면에 return은 함수를 종료하고 값을 호출자에게 다시 보내는 Python의 내장 키워드이기도 합니다.

이 기사에서는 수익률과 수익률의 차이점을 예시와 함께 설명합니다.







수익률과 수익률의 차이점

우선 수익률과 수익률 사이에는 많은 현저한 차이가 있습니다. 먼저 이것들이 무엇인지 논의합시다.



반품 생산하다
return 문은 호출자에게 단일 값만 반환합니다. yield 문은 일련의 결과를 생성기 개체의 형태로 호출자에게 반환할 수 있습니다.
반환은 함수를 종료하고 루프의 경우 루프를 해제합니다. 함수 내부에 배치되는 마지막 명령문입니다. 함수의 지역 변수를 없애지 않습니다. 실행을 일시 중단하고 값을 호출자에게 다시 보내고 마지막 yield 문에서 프로그램 실행을 계속합니다.
논리적으로 함수에는 return 문만 있어야 합니다. 함수 내부에 둘 이상의 yield 문이 있을 수 있습니다.
return 문은 한 번만 실행할 수 있습니다. yield 문은 여러 번 실행할 수 있습니다.
return 문은 일반 Python 함수 내부에 배치됩니다. yield 문은 일반 함수를 생성기 함수로 변환합니다.

예 1: 수익률 대 수익률

이제 예제를 통해 return 문과 yield 문의 차이점을 살펴보겠습니다. 아래에 주어진 예제 프로그램에서 우리는 여러 개의 return 문을 사용했습니다. 첫 번째 return 문 이후에 프로그램 실행이 종료되고 나머지 코드는 실행되지 않는 것을 관찰할 수 있습니다.



# return 문의 동작을 보여주는 프로그램

#숫자 변수 정의

num1=10

#숫자 변수 정의

숫자2=스물

# 산술 연산을 수행하는 함수 만들기

데프 수학OP():

#합계값 계산

반품num1+숫자2

#차이를계산하다

반품num1-숫자2

# 곱셈 값 계산

반품num1*숫자2

#나누기 값 계산

반품num1/숫자2

# 함수 호출

인쇄(수학OP())

산출





출력에서 함수가 첫 번째 값만 반환하고 프로그램이 종료되는 것을 볼 수 있습니다.



여러 return 문으로 유사한 작업을 수행하려면 각 산술 연산 유형에 대해 네 가지 다른 함수를 만들어야 합니다.

# return 문의 동작을 보여주는 프로그램

#숫자 변수 정의

num1=10

#숫자 변수 정의

숫자2=스물

# 산술 연산을 수행하는 함수 만들기

def sumOP():

#합계값 계산

반품num1+숫자2

데프 빼기OP():

#차이를계산하다

반품num1-숫자2

def 곱셈OP():

# 곱셈 값 계산

반품num1*숫자2

데프 디비전OP():

#나누기 값 계산

반품num1/숫자2

#합 함수 호출

인쇄('합계 값은 ',합계())

#빼기 함수 호출

인쇄('차이 값은 ',빼기OP())

#곱셈 함수 호출

인쇄('곱하기 값은 ',곱하기OP())

#나누기 함수 호출

인쇄('나누기 값은 ',디비전OP())

산출

여러 yield 문이 있는 단일 생성기 함수 내에서 이러한 여러 산술 연산을 수행할 수 있습니다.

# yield 문의 동작을 보여주는 프로그램

#숫자 변수 정의

num1=10

#숫자 변수 정의

숫자2=스물

# 산술 연산을 수행하는 함수 만들기

데프 수학OP():

#합계값 계산

생산하다num1+숫자2

#차이를계산하다

생산하다num1-숫자2

# 곱셈 값 계산

생산하다num1*숫자2

#나누기 값 계산

생산하다num1/숫자2

# 함수 호출

인쇄('값 인쇄:')

# for 루프를 사용하여 생성기 객체의 값에 액세스

~을위한나는 수학OP에서():

인쇄(NS)

산출

예 2: 수익률 대 수익률

return 및 yield 문의 다른 예를 살펴보겠습니다. 주어진 예에서 우리는 인수로 mod() 함수에 전달되는 숫자 목록을 가지고 있습니다. 우리는 목록의 각 숫자에 대해 모듈러스 연산을 수행하고 10으로 나눌 때 그 숫자가 무엇인지 확인하고 나머지 값으로 0을 반환합니다.

먼저 return 문을 사용하여 Python 스크립트에서 이 예제를 구현해 보겠습니다.

#숫자 목록 정의

나의 목록=[10,스물,25,30,35,40,오십]

# 모듈러스 연산을 수행하는 함수 정의

데프 모드(나의 목록):

~을위한나는 myList에:

#모듈러스 연산 수행

만약(NS%10==0):

반품NS

인쇄(에 맞서(나의 목록))

산출

return 문은 호출자에게 첫 번째 숫자만 반환하고 함수 실행을 종료합니다.

이제 yield 문을 사용하여 Python 스크립트에서 동일한 예제를 구현해 보겠습니다.

#숫자 목록 정의

나의 목록=[10,스물,25,30,35,40,오십]

# 모듈러스 연산을 수행하는 함수 정의

데프 모드(나의 목록):

~을위한나는 myList에:

#모듈러스 연산 수행

만약(NS%10==0):

#수익률 진술

생산하다NS

~을위한나는 모드에서(나의 목록):

인쇄(NS)

산출

결론

결론적으로 return과 yield는 두 개의 내장된 Python 키워드 또는 명령문입니다. return 문은 함수에서 호출자에게 값을 반환하고 프로그램 실행을 종료하는 데 사용되는 반면, yield 문은 생성기 개체를 생성하고 프로그램 실행을 종료하지 않고 호출자에게 여러 값을 반환할 수 있습니다. 이 문서에서는 예제와 함께 return 및 yield 문 간의 모든 두드러진 차이점을 나열합니다.