全面理解Python中的迭代器
# 定义一个迭代器函数,用于生成整数的平方
def square_numbers(n):
for i in range(n):
yield i ** 2
# 使用迭代器函数
squares = square_numbers(5)
# 打印迭代器中的值
print(next(squares)) # 输出: 0
print(next(squares)) # 输出: 1
print(next(squares)) # 输出: 4
print(next(squares)) # 输出: 9
print(next(squares)) # 输出: 16
# 尝试获取更多的值会引发StopIteration异常,因为已经迭代到了迭代器的末尾
try:
print(next(squares))
except StopIteration:
print("迭代结束,无更多值")
这段代码定义了一个迭代器函数square_numbers
,它使用yield
关键字返回一个迭代器,该迭代器生成从0到n^2的数。代码使用了迭代器,并通过next()
函数来获取迭代器中的值。当迭代到达结尾时,会抛出StopIteration
异常,提示迭代结束。这是一个理解和使用Python迭代器的简单示例。
评论已关闭