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)# 会帮助过滤错误
相关推荐
Wzx19801220 分钟前
python沙箱和docker沙箱你选对了吗?
开发语言·python·docker
Python私教23 分钟前
签名 URL 刷新导致审批失效?别急着删掉所有 query
python·安全
牧羊人.33330 分钟前
Python 办公自动化从入门到入土|09 数据容器之字典
开发语言·python
小僧景贤44 分钟前
嵌入式C语言 第二篇:基础语法|嵌入式C与标准C的核心差异
c语言·开发语言·嵌入式c语言
Zane19941 小时前
类变量与实例变量:一个共享列表引发的线上事故
后端·python
阿pin1 小时前
Android随笔-AIDL
android·开发语言·aidl
Python私教1 小时前
一次性批准令牌:挡住旧授权误发新版本的工程设计
python·安全
for_ever_love__1 小时前
python基础语法学习: 数据容器
windows·python·学习
aiqianji1 小时前
文风接近真人的AI生成短篇小说软件有哪些?
人工智能·python
LiLiYuan.2 小时前
【字符串常量池】
java·开发语言·面试