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
的值。next()
会引发 StopIteration
异常。()
而不是方括号 []
,生成器表达式会在需要时惰性地生成值,而不是一次性生成所有值。上一篇:python 调用js
下一篇:python调用接口获取数据
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站