python(基础)中return,yield的区别

return和yield都可以在函数中使用,并且都返回某种结果,return返回结果之后函数终止,而yield返回的是可迭代的生成器对象,可以使用for循环或者next()方法遍历生成器对象获取相应的结果(注意:带有yield关键字的函数成为生成器)。

例如:

def test1():
    x = 1
    x+= 2
    return x
test1 = test1()
print(test1)
运行结果为3
def test2():
    x = 1
    x+= 2
    yield x
test2 = test2()
print(test2)
for i in test2:
    print(i)
运行结果为和3

生成器有个好处,就是当数据集有某种规律或逻辑时,可以编写一个生成器,这样避免了需要通过列表或者元组来存储数据,不用占用内存,直接在需要的时候生成这些数据即可。

你可能感兴趣的:(python,python函数基础,python)