只是粗略的知道yield可以用來為一個函數返回值塞數據,比如下面的例子: def addlist(alist): for i in alist: yield i + 1取出alist的每一項,然后把i + 1塞進去。然后通過調用取出每一項: alist = [1, 2, 3, 4] for x in addlist(alist): print x,這的確是yield應用的一個例子,但是,看過limodou的文章《2.5版yield之學習心得》,并自己反復體驗后,對yield有了一個全新的理解。
1. 包含yield的函數
假如你看到某個函數包含了yield,這意味著這個函數已經是一個Generator,它的執行會和其他普通的函數有很多不同。比如下面的簡單的函數: def h(): print 'To be brave' yield 5