return和yield有什么区别吗? |
您所在的位置:网站首页 › yield和return的区别 › return和yield有什么区别吗? |
return和yield有什么区别吗? return yield 宋雪维 2020-12-03 17:45:385320浏览 · 0收藏 · 0评论 之前小编带领大家认识了return和yield,知道了他们都是定义函数过程中返回值,都用在函数或方法体内,用于返回执行的结果,可是具体有什么区别呢?在什么时候用return,什么时候用yield呢?下面跟着小编的脚步来看看吧~ yield: 1、是暂停函数 2、返回值后继续执行函数体内代码, 3、返回的是一个迭代器(yield本身是生成器-生成器是用来生成迭代器的); 精髓理解:返回后函数执行暂停 return: 1、是结束函数; 2、返回值后不再执行函数体内代码. 3、返回的是正常可迭代对象(list,set,dict等具有实际内存地址的存储对象) 精髓理解:返回后函数执行结束 具体区别: 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 内存错误。yield:返回结果后,函数不结束,yield返回值后暂停,再次调用时,在暂停的地方继续执行;可执行多次,直到函数结束 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和yield的区别,你们学会了吗?更多学习推荐:python学习网。 关注公众号,随时随地在线学习 本教程部分素材来源于网络,版权问题联系站长! 分享分享到微博 微信扫一扫 下一篇: python中的shuffle怎么用?> |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |