请解释Python中的生成器,并给出一个示例代码。
答案:
生成器是Python中一种特殊的迭代器,它允许我们在需要时才生成值,而不是一次性生成所有值。生成器的语法使用关键字yield,当函数被调用时,它会返回一个生成器对象,而不是直接执行函数。当我们遍历生成器对象时,函数会从上次yield的位置继续执行,直到遇到下一个yield或者函数结束。生成器可以节省内存,因为它们不需要一次性生成所有值。
示例代码:
def count_up_to(max):
count = 1
while count <= max:
yield count
count += 1
counter = count_up_to(5)
for number in counter:
print(number)
这个问题涉及到Python中的一种重要特性,即生成器。生成器在处理大量数据或需要按需生成数据的场景中非常有用。面试官通常会问这个问题,以评估面试者对Python基本概念的理解程度以及编程能力。