首页 > 编程语言 > 详细

python 生成器的两个作用

时间:2020-06-04 21:21:18      阅读:52      评论:0      收藏:0      [点我收藏+]
def eat(name):
    print("{}该吃饭了".format(name))
    lst = []
    for i in range(1, 10000):
        x = yield lst
        lst.append(x)





g = eat(‘张三‘)   # 只是生成对象,不执行函数里面的代码
# print(g.__next__())  #第一次开始执行方法里面的代码并返回yied后面的值
print(g.send(None))
print(g.send(‘王二小‘)) #第二次执行将参数先传值给yield ,由yield将值转交给x,然后在执行相应的append操作,最后返回yield面的值。
print(g.send(‘王二小‘)) #第三次同第二次。

结果:
张三该吃饭了
[]
[‘王二小‘]
[‘王二小‘, ‘王二小‘]

python 生成器的两个作用

原文:https://www.cnblogs.com/python99/p/13045588.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!