yield生成器
# -*- coding: utf-8 -*-
__author__ = 'scott'
#生成器本质就是函数,只不过解释器interprator看到yield会停止
def myGen():
yield 1
yield 2
yield 3
return 4
def myFunc():
return 4
print(myGen()) #返回结果并不是1,而是一个迭代器对象
#遍历生成器
for data in myGen():
print(data)
print("next方法调用")
mygen = myGen()
print(next(mygen))
print(next(mygen))
print(next(mygen))
# print(next(mygen)) 再次调用就会报错 StopIteration: 4
# 结果如下:
# <generator object myGen at 0x102a9a4c0>
# 1
# 2
# 3
# next方法调用
# 1
# 2
# 3
在scrapy中可以yield不同的对象,scrapy会根据yield对象的不同而做不同的处理
Request(url,meta,callback)