3分钟明白python的生成器

Python 中的生成器是一种特殊的函数,它可以返回一个迭代器对象,该对象可以在循环中动态地生成值,而不是一次性地返回所有的值。

生成器的好处是可以节省内存空间,提高性能,以及实现更优雅的编程风格。

要创建一个生成器,你需要使用 def 关键字定义一个函数,并且至少需要一个 yield 语句。

yield 语句是用来在函数中返回一个生成器对象,并且暂停函数的执行,直到下一次请求值时继续执行。

也可以使用生成器表达式来创建一个生成器对象,它类似于列表推导式,但是使用圆括号而不是方括号。

下面例子演示了如何使用生成器和 yield 语句来创建一个返回奇数的函数:

# 使用 yield
def odd_numbers_yield(n):
    # 从 1 开始循环到 n
    for i in range(1, n + 1):
        # 如果 i 是奇数
        if i % 2 == 1:
            # yield 在循环内部,逐个返回 i
            yield i

# 使用生成器表达式
odd_numbers_gen = (i for i in range(1, n + 1) if i % 2 == 1)

# 测试代码
n = 10

# 调用 yield 函数
result_yield = odd_numbers_yield(n)
# 打印结果
for x in result_yield:
    print(x, end=" ")
print()

# 调用生成器表达式
result_gen = odd_numbers_gen
# 打印结果
for x in result_gen:
    print(x, end=" ")
print()

输出:

1 3 5 7 9 
1 3 5 7 9 
展开阅读全文

页面更新:2024-02-23

标签:生成器   圆括号   方括号   奇数   表达式   语句   函数   演示   节省   对象

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top