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)# 会帮助过滤错误
相关推荐
wjs202410 分钟前
DOM CDATA
开发语言
Tingjct12 分钟前
【初阶数据结构-二叉树】
c语言·开发语言·数据结构·算法
2401_8321319513 分钟前
Python单元测试(unittest)实战指南
jvm·数据库·python
猷咪38 分钟前
C++基础
开发语言·c++
IT·小灰灰39 分钟前
30行PHP,利用硅基流动API,网页客服瞬间上线
开发语言·人工智能·aigc·php
快点好好学习吧41 分钟前
phpize 依赖 php-config 获取 PHP 信息的庖丁解牛
android·开发语言·php
秦老师Q42 分钟前
php入门教程(超详细,一篇就够了!!!)
开发语言·mysql·php·db
烟锁池塘柳042 分钟前
解决Google Scholar “We‘re sorry... but your computer or network may be sending automated queries.”的问题
开发语言
是誰萆微了承諾42 分钟前
php 对接deepseek
android·开发语言·php
vx_BS813301 小时前
【直接可用源码免费送】计算机毕业设计精选项目03574基于Python的网上商城管理系统设计与实现:Java/PHP/Python/C#小程序、单片机、成品+文档源码支持定制
java·python·课程设计