Python3 【生成器】水平考试:精选试题和答案

Python3 【生成器】水平考试:精选试题和答案

一、选择题(每题2分,共30分)

  1. 生成器函数与普通函数的主要区别是什么?
    A) 生成器函数使用 return
    B) 生成器函数使用 yield
    C) 生成器函数不能带参数
    D) 生成器函数必须包含循环
    答案:B

  2. 生成器表达式使用的符号是?
    A) []
    B) ()
    C) {}
    D) <>
    答案:B

  3. 以下代码的输出是什么?

    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

  4. 生成器的核心优势是?
    A) 代码简洁
    B) 内存效率高
    C) 执行速度快
    D) 支持多线程
    答案:B

  5. 以下代码的输出是什么?

    def gen():  
        yield 1  
        yield 2  
    g = gen()  
    print(sum(g) + sum(g))  
    

    A) 3
    B) 0
    C) 6
    D) 报错
    答案:A

  6. 如何捕获生成器中的 return 返回值?
    A) 使用 return 直接获取
    B) 通过 StopIteration 异常的 value 属性
    C) 使用 yield from
    D) 无法捕获
    答案:B

  7. 生成器函数中 yield 的作用是?
    A) 终止函数
    B) 返回一个值并暂停函数
    C) 抛出异常
    D) 跳过当前循环
    答案:B

  8. 以下代码的输出是什么?

    def gen():  
        yield 1  
        yield 2  
    print([x for x in gen()])  
    

    A) [1, 2]
    B) [1]
    C) []
    D) 报错
    答案:A

  9. 以下哪个场景适合使用生成器?
    A) 需要多次随机访问数据
    B) 处理大型日志文件逐行分析
    C) 需要快速修改数据
    D) 高并发计算
    答案:B

  10. 生成器函数中的 yield from 的作用是?
    A) 终止生成器
    B) 委托生成器的执行到另一个生成器
    C) 抛出异常
    D) 生成多个值
    答案&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值