鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[扩展阅读] 提高你的 Python:解释 yield 和 Generators(生成器)

  [复制链接]
发表于 2020-8-23 18:35:10 | 显示全部楼层
第一段第05行:
            result_list.append()
括号内要加element吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-27 12:05:39 | 显示全部楼层
生成器:
测试题(笔试,不能上机哦~):
0.        通常,一般的函数从第一行代码开始执行,并在什么情况下结束?
函数运行结束、return 或者代码出错的地方结束
1.        什么是协同程序?
协同程序(coroutine)与多bai线程情况下的线程比较类似:有自du己的堆zhi栈,自己的局部变量,有自己的指令指针(IP,instruction pointer),dao但与其它协同程序共享全局变量等很多信息。
2.        生成器所能实现的任何操作都可以由迭代器来代替吗,为什么?
可以,生成器基于迭代器来实现
3.        将一个函数改造为生成器,说白了就是把什么语句改为 yield 语句?
return
4.        说到底,生成器的最大作用是什么?
可以保留现场,让函数下一次执行的地方停留在上一次结束的地方。
5.        如下,get_prime() 是一个获得素数的生成器,请问第 2 行代码 while True 有何作用?
为了让指针不会执行到函数的末尾
动动手(一定要自己动手试试哦~):
0.        要求实现一个功能与 reversed() 相同(内置函数 reversed(seq) 是返回一个迭代器,是序列 seq 的逆序显示)的生成器。例如:
1.        10 以内的素数之和是:2 + 3 + 5 + 7 = 17,那么请编写程序,计算 2000000 以内的素数之和?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-4 19:20:38 | 显示全部楼层
?????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-5 20:13:04 | 显示全部楼层
迷茫
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-6 11:02:39 | 显示全部楼层
感谢鱼大大 懵逼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-14 15:28:05 | 显示全部楼层
虽然看不懂,但是先看一遍,后边慢慢熟悉了估计就投壶顶灌一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-5 13:59:22 | 显示全部楼层
厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-14 23:22:15 | 显示全部楼层
一知半解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-15 20:19:05 | 显示全部楼层
小甲鱼,上面的代码是不是有问题呀? 少了个一个参数吧
QQ浏览器截图20201215201654.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-3-27 23:01:03 | 显示全部楼层
简直和看天书似的,小白实在头大了,不过还是硬着头皮看完了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-14 15:35:39 | 显示全部楼层
熊之小甲鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-22 17:31:05 From FishC Mobile | 显示全部楼层
最后一段没看懂为啥要这样写,写个递归一样呀。
import random


def consume(times,data_items_seen=0,running_sum=0):
    if times:
        times -= 1
        data = random.sample(range(10), 3)      #产生3个10以内随机数
        print('Produced {}'.format(data))      #打印3个数
        data_items_seen += len(data)
        running_sum += sum(data)
        print(data_items_seen, running_sum)
        print('The running average is {}'.format(running_sum / float(data_items_seen)))
        return consume(times,data_items_seen,running_sum)


consume(100)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-2 21:21:46 | 显示全部楼层
看到一半就已经头大的不行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-7 20:34:07 | 显示全部楼层
鱼c有你更精彩!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-26 16:31:27 | 显示全部楼层
没太看懂,继续琢磨
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-28 18:25:35 | 显示全部楼层
懂了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-29 16:04:26 | 显示全部楼层
菜鸟学习中!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-18 18:01:07 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-22 22:33:31 | 显示全部楼层
慢慢看还是能理解,,,,,不知道实际能不能用上了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-22 22:10:46 | 显示全部楼层
打好基础
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 22:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表