您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > python考试题目
1python复习题一、选择题1.执行下列语句后的显示结果是(D)。world=”world”print“hello”+worldA.helloworldB.“hello”worldC.helloworldD.语法错误2.下面哪个不是Python合法的标识符(B)。A.int32B.40XLC.selfD.__name__3.Python3.x完全支持中文字符,默认使用的的编码格式是(B)。A.GB2312B.UTF-8C.UTF-16D.CP4374.以下创建一个字典的语句错误的是(C)。A.dict1={}B.dict2=dict()C.dict3={[1,2,3]:“uestc”}D.dict4={(1,2,3):“uestc”}5.下列Python语句正确的是(A)。A.min=xifxyelseyB.max=xy?x:yC.if(xy)printxD.whileTrue:pass6.ab+c*2结果是(C)。A.abc2B.abcabcC.abccD.ababcc7.以下会出现错误的是(B)。A.'董'.encode()B.'董'.decode()C.ord('董')D.ascii('董')8.若函数中没有return语句或者return语句不带任何返回值,则返回(D)。A.0B.出错不能运行C.空字符串D.None9.关于python类说法错误的是(B)。A.类的实例方法必须创建对象后才可以调用B.类的实例方法必须创建对象前才可以调用C.类的类方法可以用对象和类名来调用D.类的静态属性可以用类名和对象来调用10.有关异常说法正确的是(B)。A.程序中抛出异常终止程序B.程序中抛出异常不一定终止程序C.拼写错误会导致程序终止D.缩进错误会导致程序终止11.通过random.randint(1,100),可以获得(A)A.[1,100]区间的随机整数B.[1,100)区间的随机整数C.(1,100]区间的随机整数D.(1,100)区间的随机整数12.下列数据类型为bytes类型的是(D)A.TrueB.FalseC.NoneD.b'hello'13.以下数据类型可以作为字典中元素的键的是(D)A.列表B.集合C.字典D.字符串14.在条件表达式中,以下会被python解释器认为和True等价的是(D)A.空列表B.空元组C.空集合D.正整数15.关于python函数以下说法正确的是(A)A.函数形参不需要声明其类型B.如果函数不需要接受任何参数,则函数名后面的括号也无需保留2C.函数必须指明其返回值类型D.函数体必须和def关键字对齐16.面向对象的三大特性不包括(B)A.继承B.重写C.多态D.封装17.python3中,默认使用的编码是(C)A.GBKB.GB2312C.UTF8D.CP93618.正则表达式中,匹配任何数字,用以下哪个元字符(C)A.\rB.\nC.\dD.\w19.以下文件打开方式中,(C)是追加模式,不覆盖文件中的原有内容。A.rB.wC.aD.b20.python访问mysql数据库可以使用MySQLDb模块,以下方法是回滚事物的是(B)A.commit()B.rollback()C.nextset()D.scroll()21.与运算符//对应的特殊方法为(B)A.__pow__()B。__floordiv__()C.__mod__()D.__truediv__()22.如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回为(D)A.TrueB.FalseC.NullD.None23.以下哪个不是python中提供的程序控制关键字(C)A.forB.whileC.caseD.break24.使用字典对象的(A)方法,可以返回字典的“键:值”对。A.items()B.keys()C.values()D.get()25.语句sum(range(1,11),5)的结果为(B)A.55B.60C.66D.60二、填空题1.如果脚本作为程序直接运行,则其__name__属性值被自动设置为字符串____’main_’___。2.表达式chr(ord('D')+2)的值为_____’F’____________。3.假设列表对象li的值为[3,4,5,6,7,9,11,13,15,17],那么切片li[3:7]得到的值为___[6,7,9,11]______________。4._continue_________语句的作用是提前结束本次循环,忽略之后的所有语句,提前进入下一次循环。5.如果函数中没有return语句,那么该函数的返回值为__None________________。6.创建一个类的对象的时候,自动执行该类的__init__方法。7.在字符串前加字母___R___表示原始字符串,不会进行任何转义。8.正则表达式采用标准库___re_____模块中的方法处理字符串。9.python内置函数___open()________可以用指定模式打开指定文件并创建文件对象。10.os.path模块中用来进行路径拼接的方法是____join()______________。11.表达式chr(ord('E')+3)的值为______’H’______。12.python源程序执行的方式是__解析执行______。13.字典中的______键______必须是唯一的。314.在字符串的前面添加一个_____’R’_____字符,使字符串变成原始字符串。15.面向对象程序设计的三要素分别为___继承__、__封装___和___多态___。16.用__importre______________导入正则表示式模块。17.OS模块的___getcwd()_________方法用来返回当前工作目录。18.文件对象的___tell()_________方法可以用来返回文件指针的当前位置。19.表达式int(‘1111’,2)的值为15。20.表达式chr(ord(‘F’)+2)的值为’H’。21.列表对角的sort()方法用来对列表元素进行原排序,该函数的返回值为None。22.表达式“3in[1,2,3,4]”的值为True。23.逻辑运算符and和or具有短路求值和惰性求值的特点。24.缩进是体现代码逻辑关系的重要方式,同一个代码必须保证相同缩进量25.所有实例方法都必须至少有一个名为self的参数,并且必须是方法的第一个形参,它代表当前对象。26.正则表达式使用圆括号表示一个子模块。三、问答题1.为什么应尽量从列表的尾部进行元素的增加与删除操作?P46①列表具有内存自动收缩和扩张的功能。②保持元素之间没有缝隙,这个操作涉及元素的移动,效率低。③尾部增加额外速度,应尽可能从尾部进行元素的增加或删除。2.简述元组与列表的异同点。P60①列表和元组都属于有序序列,都支持使用双向索引访问其中的元素。②元组属于不可变序列,不可以直接修改元组中元素的值,也无法为元组增加或删除元素。③python的内部实现对元组做了大量优化,访问速度比列表更快。④元组可用字典的键,也可作为元素的集合,而列表则不能做字典键使用,也不能做集合的元素,因为列表是可变的。3.简述列表推导式和生成器推导式的异同及各自特点。P52P61①列表推导式也称为列表解析式,能够对可迭代对象的元素进行遍历,过滤或再次计算,一次性生成静态元素,代码简洁可读性强。②生成器推导式也称生成器表达式,用法与列表推导式相似,其结果为生成器对象,它具有惰性求值的特点,效率高,空间占用少,适合大数据处理,使用时只能从前往后。4.文本文件与二进制文件的区别?P188①文本文件存储的是常规字符串;由若干个文本行组成,通常每行以换行符’\n’结尾。常规字符串是指记事本或其他文本编译器能正常显示,编辑并且人类能直接阅读和理解的字符串,如英文字母,汉字,数字字符串。文本文件可以使用字处理软件如:gedit、记事本、UltraEdit等进行编辑。②二进制文件对象内容以字节串(bytes)进行存储,无法使用记事本或其他普通字处理软件直接进行编辑,通常也无法直接阅读和理解,需要使用正确的软件进行解码或反序列化之后才能正确地读取、显示、修改或执行。45.python程序的__name__属性的作用是什么?P8每个python脚本在运行时都会有一个__name__属性,如果脚本作为模块被导入,则其_name_属性的值被自动设置为模块名;如果脚本作为程序直接运行,则其_name_属性值会自动设置为字符串’_main_’,利用’_name_’属性则可以控制python程序运行方式。6.写出删除字符串'thisisadesk'中重复的两个单词的正则表达式,使字符串变成'thisisadesk'答:re.sub(r’(\b\w+\s)\1|(\s\w+\b)\1’,r’\1’,’Thisisadesk’)7.分析逻辑运算符“or”的短路求值特性。P76对于表达式”表达式1或表达式2”而言,如果”表达式1”的值为True,那么不论”表达式2”的值是什么,整个表达式的值都为True,因此不需要再来计算”表达式2”的值。8.read,readline和readlines之间的区别?P191表9.3read:从文本文件中读取size个字节(Python2.x)或字符(Python3,x)的内容作为结果返回,或从二进制文件中读取指定数量的字节并返回,如果省略size则表示读取所有内容readline:从文本文件中读取一行内容作为结果返回readlines:把文本文件中的每行文本作为一个字符串存入列表中,返回该列表,对于大文件会占用较多内存,不建议使用四、程序阅读、填空题1.写出下列程序段的输出结果:defprint_info(*args,**kwargs):foriinargs:print(i)print(kwargs)print_info(1,2,3,4,5,job='IT',name='lihuan',age=25)答案:12345{'job':'IT','name':'lihuan','age':25}52.任意输入3个英文单词,按字典顺序输出。s=input('x,y,z')x,y,z=__sorted(s.split(','))__print(x,y,z)3.以下程序为从大到小打印100~200内的全部素数,输出格式为每行10个,请把程序补充完整。importmathn=0formin___range(100,200)___:k=int(math.sqrt(m))foriinrange(2,k+1):ifm%i==0:breakifi==k:ifn%10==0:print(\n)____print(%d%m,end='')____n+=14.编写程序,用户从键盘输入小于1000的整数,对其进行因式分解。例如,10=2×5,60=2×2×3×5。x=input('Pleaseinputanintegerlessthan1000:')x=eval(x)t=xi=2②result=[]②whileTrue:ift==1:breakift%i==0:③result.append(i)t=t//ielse:i+=1④print(x,'=','*'.join(map(str,result)))65.以下程序为查找用户输入的一段英文中所有长度为3个字母的单词,请把程序补充完整。importrex=input('Pleaseinputastring:')pattern=___re.complie(r’\b[a-zA-Z]{3}\b’)___print(pattern.findall(x))五、编程题1.已知函数add(a,b)如下所示,功能为求a+b的和,现要为函数添加计算该函数的运行时间的功能,要求不改变原函数,且不改变原函数的调用方式。importtimedefshow_time(func):defwrapper(x,y):start=time.ti
本文标题:python考试题目
链接地址:https://www.777doc.com/doc-7927035 .html