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)# 会帮助过滤错误
相关推荐
ZEERO~2 分钟前
@dataclass的作用
开发语言·windows·python
南行*9 分钟前
C语言Linux环境编程
linux·c语言·开发语言·网络安全
Morwit11 分钟前
Qt qml创建c++类的单例对象
开发语言·c++·qt
几道之旅12 分钟前
pytdx能否下载期货数据呢?
python
古城小栈14 分钟前
Rust 已经自举,却仍需GNU与MSVC工具链的缘由
开发语言·rust
vyuvyucd15 分钟前
MPPI算法实战:机器人避障与仿真
python
计算机徐师兄16 分钟前
Python基于Flask的广东旅游数据分析系统(附源码,文档说明)
python·flask·旅游数据分析·广东旅游数据分析系统·python广东数据分析系统·python广东旅游数据分析·python旅游数据分析系统
jarreyer18 分钟前
数据项目分析标准化流程
开发语言·python·机器学习
GZKPeng20 分钟前
pytorch +cuda成功安装后, torch.cuda.is_available 是False
人工智能·pytorch·python
你怎么知道我是队长21 分钟前
C语言---printf函数使用详细说明
c语言·开发语言