1
발전기에 대한 오해는 무엇입니까? 내가 예상 한 결과를 얻지 못하고 있습니까? 모든 정보를 출력 할 간단한 함수를 만들려고합니다. 보내거나 아무 정보도 보내지 않으면 'none'을 반환합니다.파이썬 생성기 동작
import pudb
#pudb.set_trace()
def gen():
i = 0
while True:
val = (yield i)
i = val
if val is not None:
yield val
else:
yield 'none'
test = gen()
next(test)
print test.send('this')
print test.send('that')
print test.next()
print test.send('now')
예상 출력 :
'this'
'that'
'none'
'now'
실제 출력 :
'this'
'this'
'none'
'none'
질문을 게시 할 때 게시 한 코드가 실제로 게시 한 결과물을 생성하는지 확인하십시오. 이 코드를 실행하면''none'' 대신 실제'None' 객체를 출력하기 때문에이 코드는 따옴표 문자가없는 출력을 생성하고 마지막 출력은 대문자가됩니다. – user2357112