python面试题

一、中文单项选择题1.下列哪个语句在Python中是非法的?A、x = y = z =1B、x = (y = z + 1)C、x, y = y, xD、x+=y答案:B2.关于Python内存管理,下列说法错误的是A、变量不必事先声明B、变量无须先创建和赋值而直接使用C、变量无须指定类型D、可以使用del释放资源答案:B. (不先赋值会报错,is not defined)3、下面哪个不是Python合法的标识符A、int32B、40XLC、selfD、name答案:B(合法的标识符不能以数字开头)4、下列哪种说法是错误的A、除字典类型外,所有标准对象均可以用于布尔测试B、空字符串的布尔值是FalseC、空列表对象的布尔值是FalseD、值为0的任何数字对象的布尔值是False答案:D (a=0,0, bool(a)为True)5、下列表达式的值为True的是A、5+4j >2-3jB、3>2>2C、(3,2)<('a','b')D、’abc’ > ‘xyz’答案:C (在Py2.x版本中正确,在Py3.x运行错误)6、Python不支持的数据类型有A、charB、intC、floatD、list答案:A(python里无char型数据,有string字符串类型; 但C语言中有char数据类型)7、关于Python中的复数,下列说法错误的是A、表示复数的语法是real + imagejB、实部和虚部都是浮点数C、虚部必须后缀j,且必须是小写D、方法conjugate返回复数的共轭复数答案:C(复数虚部的后缀也可以是大写的J)8、关于字符串下列说法错误的是A、字符应该视为长度为1的字符串B、字符串以\0标志字符串的结束C、既可以用单引号,也可以用双引号创建字符串 D、在三引号字符串中可以包含换行回车等特殊字符答案:B(python因为字符串有长度限制,到了长度就标志字符串的结束)9、以下不能创建一个字典的语句是A、dict1 = {}B、dict2 = { 3 : 5 }C、dict3 ={[1,2,3]: “uestc”}D、dict4 = {(1,2,3): “uestc”}答案:C(字典的键必须是不变的,而列表是可变的)10、下列Python语句正确的是:A、min = x if x< y = yB、max = x > y ?x:yC、if (x >y)print xD、while True :pass答案:D二、英文单项选择题1、what getsprinted? Assuming python version 2.x()print type(1/2)A. intB. floatC. 0D. 1E.0.5答案:A(在Py3.x的版本中,结果是float型)2、What getsprinted?()counter = 1 def doLotsOfStuff(): global counter for i in (1, 2, 3): counter += 1 doLotsOfStuff() print counter A.1B.3C.4D.7 E.none of the above答案:C3、What getsprinted?()print r"nwoow"A.new line then the string: woowB.the text exactly like this: r”nwoow”C.the text like exactly like this: nwoowD.the letter r and then newline then the text: woowE.the letter r then the text like this: nwoow答案:C(字符串前面加r,表示禁止字符串转义)4、Which numbersare printed?()for i in range(2): print i for i inrange(4,6): print i A.2, 4, 6B.0,1, 2, 4, 5, 6C.0, 1, 4, 5D.0,1, 4, 5, 6, 7, 8, 9E.1, 2, 4, 5, 6答案:C5、What getsprinted by the code snippet below?()import math print math.floor(5.5) A.5B.5.0C.5.5D.6 E.6.0答案:B6、Assuming the filename for the code below is/usr/lib/python/person.py and the program is run as: python/usr/lib/python/person.pyWhat gets printed?()class Person: def__init__(self): pass defgetAge(self): print__name__ p = Person()p.getAge() A.PersonB.getAgeC.usr.lib.python.personD.__main__E.Anexception is thrown答案:D (当内部单独执行模块时,__name__的返回值就是__main__,当被外部模调用时,返回的是模块的名字,在此即为person)7、What getsprinted?()names1 = ['Amir', 'Barry', 'Chales', 'Dao'] if 'amir' in names1: print 1 else: print 2 A.1B.2C.An exception is thrown答案:B8、What gets printed?()numbers = [1, 2, 3, 4] numbers.append([5,6,7,8]) print len(numbers) A.4B.5C.8D.12E.An exception is thrown答案:B(numbers为[1,2,3,4,[5,6,7,8]])9、What getsprinted?()kvps = { '1' :1, '2' : 2 } theCopy =kvps.copy() kvps['1'] = 5 sum = kvps['1']+ theCopy['1'] print sum A.1B.2C.6D.10E.An exception is thrown答案:C(字典的浅拷贝,只拷贝父对象,即theCopy拷贝了kvps,当kvps改变表面时,theCopy不改变相应值)三、SQL笔试题用一条SQL语句 查询出每门课都大于80分的学生姓名。表scores如下:namekechengfenshu张三语文81张三数学75李四语文76 答案:SELECT DISTINCT name FROM grade WHERE name NOT IN(SELECT DISTINCTname FROM grade WHERE score <=80); 更简单的:SELECT name FROMgrade GROUP BY name HAVING MIN(score) > 80。四、python笔试题1, python常见的命令行交互自动化模块有哪些?(2分)答案:a)Import moduleb) Import module1,module2c) From module import *d) Frommodule import m1,m2,m3e) From module import logger asmodule_logger 2,python的底层网络交互模块有哪些?(2分)答案:socket, urllib,urllib3 , requests, grab, pycurl3,python网络交互时,二进制打包解包的模块有哪些(2分)答案:打包:pack(), 解包:upk()4,python的测试框架有哪些?试列出常用的3个或更多(6分)答案:unittest, nose,unittest2, doctest, pytest5,一行把[1,2,3,1,2,3] 中的重复元素剔除。(3分)答案:list(set([1,2,3,1,2,3]))6,现在要你使用pyDes(DES加密)和标准库中的namedtuple,假设你之前没有接触过,你如何快速上手?答案:仔细阅读官方文档中namedtuple库和pyDes的使用。下载pyDes和namedtuple库,借鉴网上的使用教程,摸索实践。 --------------------- 作者:沉默的小萝莉 来源:CSDN 原文:https://blog.csdn.net/nadizhong4136/article/details/78443392 版权声明:本文为博主原创文章,转载请附上博文链接!

    推荐阅读