最近看代碼看到python裏面的yield關鍵字,和我以前接觸的語言好像都沒有來着,我就查了查它的含義,大概理解以下:python
>>> def createGenerator(): ... mylist = range(3) ... for i in mylist: ... yield i*i ... >>> mygenerator = createGenerator() # create a generator >>> print(mygenerator) # mygenerator is an object! <generator object createGenerator at 0xb7555c34> >>> for i in mygenerator: ... print(i) 0 1 4
>>> mygenerator = (x*x for x in range(3))
>>> for i in mygenerator: ... print(i) 0 1 4 >>> for i in mygenerator: ... print(i)
再運行一次for就不會打印出來東西了。