生成器函数的进阶和表达式and各种推导式

Posted 清欢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成器函数的进阶和表达式and各种推导式相关的知识,希望对你有一定的参考价值。

生成器函数的进阶

send的效果与作用范围和next一模一

send获取下一个值的效果和next基本一致

第一次不能用send

函数中的最后一个yield不能接收新的值

只是再获取下一个值的时候,给上一个yield的位置传递一个数据

使用send的注意事项

  #第一次使用生成器的时候,是用next获取下一个值

  #最后一个yield不能接收外部的值

def generator():
    print(123)
    content = yield 1
    print(=======,content)
    print(456)
    arg = yield 2
    ‘‘‘‘‘‘
    yield
# g1 = generator()
# g2 = generator()
# g1.__next__()
# g2.__next__()
# print(‘********‘,generator().__next__())
# print(‘********‘,generator().__next__())
g = generator()
ret = g.__next__()
print(***,ret)
ret = g.send(hello)
print(***,ret)

各种推导式

egg_list=[鸡蛋%d%i for i in range(10)]
print(egg_list)
g = (i for i in range(10))
print(g)        #生成器的内存地址
for i in g:
    print(i)

    #与列表生成器的区别:括号不一样,返回的值=======几乎不占内存

各种推导式

  [满足条件的元素相关的操作  for   元素   in     可迭代的数据类型     if    元素相关的条件]

生成器注意

1》生成器中的数据只能取一次,取完就没了。

2》惰性运算。

以上是关于生成器函数的进阶和表达式and各种推导式的主要内容,如果未能解决你的问题,请参考以下文章

python-生成器进阶~各种推导式

各种推导式

各种推导式详解

各种推导式详解

各种推导式玩法

各种推导式玩法