yield
- 函数中有yield 的函数,返回的是一个生成器对象,该对象可以迭代遍历和通过next()方法取出对象中的值。比较节约内存空间。保存的是生成数据的方式。可以达到随用随取的效果。
def func():
start_time = time.time()
list = []
for i in range(1, 100000000):
list.append(i)
end_time = time.time()
cost_time = end_time - start_time
print(cost_time)
yield list
func() # 随用随取,节省内存空间。
next(func())
return
- 在函数中,结束该函数的运行,return 后面的代码块不会执行,返回该函数的执行结果。
def func():
start_time = time.time()
list = []
for i in range(1, 100000000):
list.append(i)
end_time = time.time()
cost_time = end_time - start_time
print(cost_time)
return list # 相同的代码
func() # 函数报错,meryerror 内存错误。