Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python的generator

作者:__Man︶ㄣ   发布日期:2025-07-19   浏览:44

def simple_generator():
    # 生成器函数,使用 yield 关键字来返回值
    yield 1
    yield 2
    yield 3

# 创建生成器对象
gen = simple_generator()

# 使用 next() 函数获取生成器的下一个值
print(next(gen))  # 输出: 1
print(next(gen))  # 输出: 2
print(next(gen))  # 输出: 3

# 尝试再次获取下一个值会引发 StopIteration 异常
# print(next(gen))  # 这行代码会引发异常

# 可以使用 for 循环遍历生成器中的所有值
for value in simple_generator():
    print(value)  # 输出: 1 2 3

# 生成器表达式
gen_expr = (x * x for x in range(5))
for value in gen_expr:
    print(value)  # 输出: 0 1 4 9 16

解释说明:

  • 生成器函数:通过 yield 关键字定义的函数称为生成器函数。每次调用 next() 时,生成器函数会执行到下一个 yield 语句,并返回该 yield 的值。
  • 生成器对象:调用生成器函数会返回一个生成器对象,该对象可以在需要时逐步生成值。
  • StopIteration 异常:当生成器没有更多值可返回时,调用 next() 会引发 StopIteration 异常。
  • 生成器表达式:类似于列表推导式,但使用圆括号 () 而不是方括号 [],生成器表达式会在需要时惰性地生成值,而不是一次性生成所有值。

上一篇:python 调用js

下一篇:python调用接口获取数据

大家都在看

python时间格式

python开发windows应用程序

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

python的for i in range

npm config set python

python代码简单

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站