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

Python生成器250224

  • 是由函数与yield关键字创造出来的写法,在特定情况下,可以帮助我们节省内存
  • 执行一个生成器函数,函数体代码不会运行,会返回一个生成器对象
  • 要想执行函数体内容,就需要使用这个生成器对象来执行
def func():
    print(123)
    yield 3456
    print(456)
    yield 666
    print(789)
    # return None,程序运行到此处会报错,stopIteration,代表生成器函数执行完毕了
v1 = func()
n = next(v1)# 将进入生成器函数内部来执行其代码,会在第一个yield处暂停下来,n接收3456
n = next(v1)# 从第一个yield下面代码开始执行,遇到下一个yield处暂停下来
  • 一般情况下,使用for循环来调用生成器
def func():
    print(123)
    yield 3456
    print(456)
    yield 666
    print(789)
data = func()
for item in data:
    print(item)# 会帮助过滤错误
http://www.dtcms.com/a/35193.html

相关文章:

  • 代码随想录Day46 | 647.回文子串,516.最长回文子序列
  • CI/CD的定义
  • Docker 部署 Jenkins持续集成(CI)工具
  • 20250224-代码笔记02-class CVRPTrainer
  • 谈谈 ES 6.8 到 7.10 的功能变迁(3)- 查询方法篇
  • 开源神器KRR:用数据驱动K8s资源优化
  • 【C】堆的应用1 -- 堆排序
  • ubuntu安装配置docker
  • 《数据库索引设计与优化》译本错误纠正(1)
  • C++类和对象(中)
  • Ocelot 请求聚合
  • 【JavaScript】什么是JavaScript?以及常见的概念
  • jupyterhub on k8s 配置用户名密码 简单版
  • C++ day4 练习
  • SQL: DDL,DML,DCL,DTL,TCL,
  • 2.24力扣每日一题--设计有序流
  • 【Microsoft® PowerPoint for Mac】MAC一键导出PPT备注
  • 能不能用Ai来开发出一款APP?很早就想过能不能用Ai来开发出一款APP?
  • 89.迷人子序列计数问题|Marscode AI刷题
  • vue2中,打包报错ERROR in /node_modlules/@types/lodash/common/common.d.ts 26
  • python全栈-并发和网络通信
  • GO 快速升级Go版本
  • 【Qt之QQuickWidget】QML嵌入QWidget中
  • c++day4
  • 【嵌入式Linux应用开发基础】网络编程(1):TCP/IP协议栈
  • WIN10 本地部署 BGE Embedding 向量化模型
  • unxi-进程间通信
  • 使用PHP接入纯真IP库:实现IP地址地理位置查询
  • akka现有的分布式定时任务框架总结
  • 条件渲染