-
<PYTHON>[coroutine]Flower in my dev/Python 2015. 7. 1. 11:25
[coroutine]
yield가 변했다.
coroutine의 탱커(?)
제너레이터를 만들어주는 것도 있지만
coroutiine에서 함수의 내부에서
함수의 stop point 또는 data input 으로 사용되어
local 을 global처럼 유지시키면서
해당 함수를 입력받은 값으로 동작시켜 유지시킨다.
더욱 자세한 내용은 아래 url에서 확인
http://www.dabeaz.com/coroutines/
1234567891011121314151617181920212223242526def coroutine(func):def start(*args, **kwargs):print ">>>args : ", argsprint ">>>kwargs : ", kwargscr = func(*args, **kwargs)print ">>>cr : ", crcr.next()return crreturn startif __name__ == '__main__':@coroutinedef grep(pattern):print "Looking for %s" % patternwhile True:line = (yield)print ">>>line : ", lineif pattern in line:print ">>>value : ",line,g = grep("python")g.send("Yeah, but no, but yeah, but no")g.send("A series of tubes")g.send("python generators rock!")cs ====
결과
'Flower in my dev > Python' 카테고리의 다른 글
<PYTHON>[locale] (0) 2015.07.09 <PYTHON>[pysftp] (0) 2015.07.02 <PYTHON>[glob] (0) 2015.07.01 <PYTHON>[re : 정규표현식] (0) 2015.06.19 <PYTHON>[파이썬 업데이트 2.7.10] (0) 2015.06.09