Python生成器250224

  • 是由函数与yield关键字创造出来的写法,在特定情况下,可以帮助我们节省内存
  • 执行一个生成器函数,函数体代码不会运行,会返回一个生成器对象
  • 要想执行函数体内容,就需要使用这个生成器对象来执行
python 复制代码
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循环来调用生成器
python 复制代码
def func():
    print(123)
    yield 3456
    print(456)
    yield 666
    print(789)
data = func()
for item in data:
    print(item)# 会帮助过滤错误
相关推荐
羊小猪~~6 分钟前
基于C++“简单且有效”的“数据库连接池”
java·开发语言·前端·数据库·c++·后端·adb
运维小子11 分钟前
大语言模型架构:从基础到进阶,如何理解和演变
人工智能·python·语言模型
belong_to_you13 分钟前
【Python模块】——pymysql
开发语言·python
Hello__nibuhao25 分钟前
C 语言中控制文件的读取或写入光标
c语言·开发语言·算法
思茂信息30 分钟前
CST直角反射器 --- A求解器, 远场源, 距离像, 逆ChirpZ变换(ICZT)
开发语言·javascript·人工智能·算法·ai·软件工程·软件构建
Lin_Coder_1 小时前
Python入门 — 类
开发语言·python
似水এ᭄往昔1 小时前
【c语言】字符函数和字符串函数(1)
c语言·开发语言
laimaxgg1 小时前
Qt常用控件之多行输入框QTextEdit
开发语言·c++·qt·qt5·qt6.3
数据知道1 小时前
python中httpx库的详细使用及案例
开发语言·爬虫·python·httpx
go54631584651 小时前
基于Matlab实现汽车远近光灯识别的详细步骤及代码示例
开发语言·matlab·汽车