python中的yield与return

yield与return的功能都是返回程序执行结果,但是yield返回执行结果并不中断程序执行,return在返回执行结果的同时中断程序执行。

例如我们经常使用for循环来遍历:

return 实现

def  func():

     test_list  =  []

     for  i  in  range(10):

            test_list.append( i )

      return  i

fun = func()

print(fun)        #   [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]



yield实现

def func():

    for i in range(10):

         yield i

fun = func()

print(fun)               #  <generator  object  func  at  0x7f4cb265bb48>

print(next(a))         #  0

print(next(a))         #  1

print(next(a))         #  2

可以看出,yield 输出的是一个对象,相当于是一个容器,想取什么数据就取出什么,而return 只会返回一个值,且return后面的代码不会执行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • PYTHON-进阶-ITERTOOLS模块小结转自wklken:http://wklken.me/posts/20...
    C_Y_阅读 4,726评论 0 2
  • 来到长沙,才发现冬天不再是下雪的季节,而是下雨的季节。雨水是温柔的,它跟随着风飘来我们身边。 在我家乡,雨水是凶猛...
    时光勿扰阅读 1,495评论 0 1
  • 西安交大,年愈七旬的交大女教授即兴发表了一番感慨: 已是几次住女儿家了。 看到了孩子们的富足、前卫...
    瓷娃娃没有伞阅读 3,434评论 0 0
  • 关于法国历史上路易十四时期“铁面人”的传说,二百多年来一直没有中断。铁面人的故事被大家知道源于大仲马,他的《...
    mixiao米小阅读 18,395评论 0 1
  • 爱美之心人皆有之!我虽是粗俗之人、懒散之人,却也爱花。前几日获得这捧娇艳的红玫瑰,心喜不已!一回家就将它装入水瓶中。
    78_闲云阅读 2,299评论 0 0

友情链接更多精彩内容