摘要:
这一章节主要讨论生成器函数与生成器表达式的联系与区别。1.联系* 两者之间都是返回生成器。下面是示例代码>>> g=(x for x in range(5))>>> g at 0x01E673F0>>>> >>> def test(): for x in range(5): yield x >>... 阅读全文
摘要:
这一章节我们来讨论一下生成器表达式。从语法上来讲,生成器表达式跟列表解析一个样,只不过列表解析放在中括号里面,而生成器表达式放在小括号里面>>> [x for x in range(5)][0, 1, 2, 3, 4]>>> (x for x in range(5)) at 0x01E5F3A0>>... 阅读全文
摘要:
这一章节我们来讨论一下扩展生成器函数:send函数回顾一下上一章节我们介绍yield的应用:>>> def test(): for x in range(3): yield x >>> x=test()>>> next(x)0>>> next(x)1我们这一章节在next()和__next__(... 阅读全文
摘要:
这一章节我们来讨论一下生成器函数应用。先定义一个生成器函数:>>> def test(): for x in range(3): yield x >>> test()从上面的代码可以看见,函数test返回的是一个生成器,然后当生成器产生一个结果之后,控制权就会返回给函数,然后系统会记录函数当前的... 阅读全文
摘要:
这一章节我们来讨论一下为什么要在意列表解析与序列映射函数map,也就是为什么要有前面的几个章节?答案:就是对于迭代序列,每一个序列的对象只进行一种操作,它能够提供精简的代码我们下面举两个例子:1.去掉每一行的换行符>>> [item for item in open('output_file.txt... 阅读全文