刷到原题概率80%2020计算机二级Python历年真题_第1页
刷到原题概率80%2020计算机二级Python历年真题_第2页
刷到原题概率80%2020计算机二级Python历年真题_第3页
刷到原题概率80%2020计算机二级Python历年真题_第4页
刷到原题概率80%2020计算机二级Python历年真题_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

刷到原题概率80%2020计算机二级Python历年真题

一、单项选择题,(总共10题,每题2分)1.在Python中,表达式3or5and0的值为A.0 B.3 C.5 D.False2.以下关于列表ls的操作,哪一项不能增加元素个数A.ls.append(1) B.ls.insert(0,1) C.ls.extend([1]) D.ls.remove(1)3.对于字典d={'a':1,'b':2},执行d.update({'a':3,'c':4})后,d的内容为A.{'a':1,'b':2,'c':4} B.{'a':3,'b':2,'c':4} C.{'a':3,'b':2} D.{'a':1,'b':2}4.下列语句能正确打开当前目录下文件test.txt并读取全部内容的是A.open('test.txt','w').read() B.open('test.txt').read() C.open('test.txt','r+').write() D.open('test.txt','a').read()5.关于异常处理,以下说法正确的是A.try块中必须搭配finally B.except可以捕获多种异常类型 C.else块在发生异常时执行 D.raise只能抛出系统异常6.在函数定义中,参数args的作用是A.接收关键字参数 B.接收任意数量的位置参数 C.接收固定个数参数 D.无实际作用7.表达式'{1},{0},{1}'.format('A','B')的结果是A.'A,B,A' B.'B,A,B' C.'1,0,1' D.'A,B'8.以下关于集合的说法错误的是A.集合元素可重复 B.集合支持交集运算 C.集合元素必须可哈希 D.集合可以用set()创建9.使用random模块生成[1,10]闭区间内的随机整数,正确调用是A.random.randint(1,10) B.random.random(1,10) C.random.uniform(1,10) D.random.range(1,11)10.关于lambda表达式,以下正确的是A.不能包含循环语句 B.必须返回一个列表 C.必须有名字 D.不能作为参数传递二、填空题,(总共10题,每题2分)11.Python内置函数________可以返回对象的字节长度。12.表达式list(range(5,0,-2))的值为________。13.切片操作s='2020',则s[::-1]的结果是________。14.语句sorted([3,1,4],reverse=True)返回列表________。15.表达式232的值为________。16.使用________语句可以主动抛出异常。17.表达式bool('False')的值为________。18.表达式'Python'.center(10,'')的结果是________。19.表达式len(set('book'))的值为________。20.表达式list(filter(lambdax:x%2,[1,2,3,4]))的结果是________。三、判断题,(总共10题,每题2分)21.Python的字符串属于不可变序列类型。22.列表推导式比同等逻辑的for循环执行速度慢。23.在函数内部用global声明变量后,该变量成为局部变量。24.表达式[]==None的值为True。25.文件对象的write方法返回写入的字符数。26.集合支持使用索引访问元素。27.表达式'3'+'4'的结果为'34'。28.异常处理中的finally块无论是否发生异常都会执行。29.字典的键可以是列表类型。30.表达式isinstance(3+4j,int)的值为True。四、简答题,(总共4题,每题5分)31.简述Python中浅拷贝与深拷贝的区别,并给出各自适用的典型场景。32.说明列表、元组、字典三种结构在内存占用与访问速度上的主要差异。33.描述with语句管理文件资源的原理,并指出其相对于手动close的优势。34.解释迭代器与可迭代对象的关系,并写出判断一个对象是否为迭代器的代码思路。五、讨论题,(总共4题,每题5分)35.讨论在循环中使用append与列表推导式构建大规模列表时对性能与内存的影响,并给出优化建议。36.结合GIL机制,讨论Python多线程在CPU密集与I/O密集任务中的实际效果,并提出替代并发方案。37.比较JSON与CSV格式在数据持久化中的优缺点,并说明如何根据业务需求选择存储方案。38.阐述动态类型语言在大型项目中的潜在风险,并讨论如何通过工程化手段降低维护成本。答案与解析一、单项选择题1.B 2.D 3.B 4.B 5.B 6.B 7.B 8.A 9.A 10.A二、填空题11.sys.getsizeof 12.[5,3,1] 13.'0202' 14.[4,3,1] 15.51216.raise 17.True 18.'Python' 19.3 20.[1,3]三、判断题21.√ 22.× 23.× 24.× 25.√ 26.× 27.√ 28.√ 29.× 30.×四、简答题答案31.浅拷贝只复制对象本身,内部嵌套对象仍共享引用;深拷贝递归复制所有层级。场景:浅拷贝适用于结构简单、共享子对象无害的情况;深拷贝用于需要完全独立副本、避免副作用的复杂嵌套结构。32.列表基于数组,元素可改,内存连续,访问快但扩容代价高;元组不可变,存储紧凑,访问最快;字典基于哈希表,键查询平均O(1),但额外存储哈希值,内存开销最大。33.with语句基于上下文管理协议,进入时调用__enter__,退出时调用__exit__确保资源释放;优势:异常安全、代码简洁、避免遗忘close导致的句柄泄漏。34.可迭代对象实现__iter__,迭代器额外实现__next__;判断思路:先检查有无__iter__,再检查有无__next__,同时满足即为迭代器,可用collections.abc.Iterator的isinstance验证。五、讨论题答案35.循环append每次动态扩容,可能多次重新分配内存,时间复杂度趋近O(n^2),列表推导式一次性预分配,速度提升30%以上;优化:推导式优先,或预分配长度的列表,避免频繁扩容。36.GIL限制同一时刻仅一个线程执行字节码,CPU密集任务多线程无法利用多核,性能反而下降;I/O密集任务因线程切换释放GIL,可提升吞吐量;替代方案:multiprocessing利用多进程,或asyncio采用单线程协程。37.JSON自描述、支持嵌套、跨语言友好,但冗余

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论