python 생 성 식 send()방법(상세 설명)

인터넷 에서 대충 찾 아 보 니 한참 동안 얘 기 하 느 라 잘 모 르 겠 어 요.여기에 써 보 세 요.

def generator():
  while True:
    receive=yield 1
    print('extra'+str(receive))


g=generator()
print(next(g))
print(g.send(111))
print(next(g))
 출력:

1
extra111
1
extraNone
1
왜 그 럴 까?send 를 누 르 면 한 마디 가 보 여.
send:Resumes the generator and "sends" a value that becomes the result of the current yield-expression.
즉,여기 서 yield 1 은 전체적으로 하나의 표현 식 으로 여 겨 집 니 다.send 의 내용 은 이 표현 식 의 값 이 될 것 입 니 다.왼쪽 에서 어떤 것 으로 받 거나 받 지 않 습 니 다.어쨌든 yield 는 당신 이 send 로 들 어 온 것 입 니 다.이 표현 식 은 send 가 들 어 온 후에 계속 실 행 됩 니 다.yield 를 다시 만 나 yield 뒤에 따 른 표현 식 을 출력 합 니 다.
물론 보통 사용 하면 상수 하 나 를 출력 하지 않 고 받 은 것 과 관련 된 양 을 출력 합 니 다.그렇지 않 으 면 헛되이 보 내 는 것 이 아 닙 니까?
이상 의 python 생 성 식 send()방법(상세 설명)은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기