当前位置: 首页 > news >正文

福建省住房和城乡建设厅网站首页热点新闻

福建省住房和城乡建设厅网站首页,热点新闻,wordpress 文章插入表格,如何买网站1. 生成器的介绍 根据程序员制定的规则循环生成数据,当条件不成立时则生成数据结束。数据不是一次性全部生成处理,而是使用一个,再生成一个,可以节约大量的内存。 2. 创建生成器的方式 生成器推导式yield 关键字 生成器推导式…

1. 生成器的介绍

根据程序员制定的规则循环生成数据,当条件不成立时则生成数据结束。数据不是一次性全部生成处理,而是使用一个,再生成一个,可以节约大量的内存

2. 创建生成器的方式

  1. 生成器推导式
  2. yield 关键字

生成器推导式:

  • 与列表推导式类似,只不过生成器推导式使用小括号
# 创建生成器
my_generator = (i * 2 for i in range(5))
print(my_generator)# next获取生成器下一个值
# value = next(my_generator)
# print(value)# 遍历生成器
for value in my_generator:print(value)

代码说明:

  • next 函数获取生成器中的下一个值
  • for 循环遍历生成器中的每一个值

运行结果:

<generator object <genexpr> at 0x101367048>
0
2
4
6
8

yield 关键字:

  • 只要在def函数里面看到有 yield 关键字那么就是生成器
def mygenerater(n):for i in range(n):print('开始生成...')yield iprint('完成一次...')if __name__ == '__main__':g = mygenerater(2)# 获取生成器中下一个值# result = next(g)# print(result)# while True:#     try:#         result = next(g)#         print(result)#     except StopIteration as e:#         break# # for遍历生成器, for 循环内部自动处理了停止迭代异常,使用起来更加方便for i in g:print(i)

代码说明:

  • 代码执行到 yield 会暂停,然后把结果返回出去,下次启动生成器会在暂停的位置继续往下执行
  • 生成器如果把数据生成完成,再次获取生成器中的下一个数据会抛出一个StopIteration 异常,表示停止迭代异常
  • while 循环内部没有处理异常操作,需要手动添加处理异常操作
  • for 循环内部自动处理了停止迭代异常,使用起来更加方便,推荐大家使用。

运行结果:

开始生成...
0
完成一次...
开始生成...
1
完成一次...

3. 生成器的使用场景

数学中有个著名的斐波拉契数列(Fibonacci),数列中第一个数为0,第二个数为1,其后的每一个数都可由前两个数相加得到:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

现在我们使用生成器来实现这个斐波那契数列,每次取值都通过算法来生成下一个数据, 生成器每次调用只生成一个数据,可以节省大量的内存。

def fibonacci(num):a = 0b = 1# 记录生成fibonacci数字的下标current_index = 0while current_index < num:result = aa, b = b, a + bcurrent_index += 1# 代码执行到yield会暂停,然后把结果返回出去,下次启动生成器会在暂停的位置继续往下执行yield resultfib = fibonacci(5)
# 遍历生成的数据
for value in fib:print(value)

运行结果:

0
1
1
2
3
http://www.sczhlp.com/news/27297/

相关文章:

  • 建筑网站建设赏析优化网站打开速度
  • 有谁认识做微网站的苏州关键词排名提升
  • 文学网站建设平台seo智能优化系统
  • 罗湖网站建设 信科网络seo推广一个月见效
  • 品牌推广与传播方案东莞seo建站公司
  • 就是做网站的.....链接提交
  • 青岛网站设计公司电话网站建设平台哪家好
  • wordpress给幻灯片添加图片不显示windows 优化大师
  • 2025中科院期刊分区表,完整版名单!
  • 检定装置优质供应商推荐
  • 毕业8年,写博客5年,停更3年后的前端现状 - c
  • AI重构智慧展馆
  • 在GE执行到最后阶段的,执行的数据查询
  • 网站顶部地图代码怎么做广告策划案优秀案例
  • 电子购物网站收藏功能设计营销软文500字范文
  • php动态网站开发 习题答案成功的网络营销案例ppt
  • 网站建设新闻发布注意事项优惠活动推广文案
  • 汕头专业的免费建站上海网络推广优化公司
  • 怎么用 c文件做网站在线磁力搜索神器
  • wordpress 前台不显示长沙seo排名收费
  • 网站怎样做压力测试淘宝关键词优化技巧
  • 橙子建站是什么长尾关键词爱站
  • 新材料行业PLM是什么?一文读懂材料PLM的功能、价值、行业应用等
  • 深入理解TCP流式读取:为什么 `read()` 一次读不完? - 浪矢
  • 数据处理的两种方式 - 浪矢
  • WPF中使用 using prism.region 报错
  • 唐山哪个公司做网站地推拉新app推广怎么做
  • 开发一个简单的系统seo站长综合查询工具
  • 重庆建设工程信息网项目经理积分seo推广优化方案
  • 网站的推广运营郑州手机网站建设