Python3 【生成器】水平考试:精选试题和答案
一、选择题(每题2分,共30分)
-
生成器函数与普通函数的主要区别是什么?
A) 生成器函数使用return
B) 生成器函数使用yield
C) 生成器函数不能带参数
D) 生成器函数必须包含循环
答案:B -
生成器表达式使用的符号是?
A)[]
B)()
C){}
D)<>
答案:B -
以下代码的输出是什么?
gen = (x for x in range(3)) print(list(gen) * 2)
A)
[0, 1, 2, 0, 1, 2]
B)[0, 1, 2]
C)[]
D) 报错
答案:A -
生成器的核心优势是?
A) 代码简洁
B) 内存效率高
C) 执行速度快
D) 支持多线程
答案:B -
以下代码的输出是什么?
def gen(): yield 1 yield 2 g = gen() print(sum(g) + sum(g))
A) 3
B) 0
C) 6
D) 报错
答案:A -
如何捕获生成器中的
return
返回值?
A) 使用return
直接获取
B) 通过StopIteration
异常的value
属性
C) 使用yield from
D) 无法捕获
答案:B -
生成器函数中
yield
的作用是?
A) 终止函数
B) 返回一个值并暂停函数
C) 抛出异常
D) 跳过当前循环
答案:B -
以下代码的输出是什么?
def gen(): yield 1 yield 2 print([x for x in gen()])
A)
[1, 2]
B)[1]
C)[]
D) 报错
答案:A -
以下哪个场景适合使用生成器?
A) 需要多次随机访问数据
B) 处理大型日志文件逐行分析
C) 需要快速修改数据
D) 高并发计算
答案:B -
生成器函数中的
yield from
的作用是?
A) 终止生成器
B) 委托生成器的执行到另一个生成器
C) 抛出异常
D) 生成多个值
答案&#x