logo资料库

软通python机试考题总结.docx

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
前言
Python基础知识考题
前言 Hello,各位从事 python 的同仁们,我叫_silence,现在坐标南 京,我最近参加了软通动力(南京)的面试,意向岗位是 Python 工 程师,后经过沟通,面的是测试方向。前面三轮技术面是一些 Python 基础知识和项目相关的技术点,总体难度不大,顺利通过,后来被 HR 告知还要通过线上的笔试(入职比较重要的流程之一),刚开始还 没太在意,人事说都是些 Python 最最基础的东西,所以就报名直接 考了,没想到栽在上面了,基础是挺多的,但说实话,大多数程序员 都是不太注重细节和基础,好多方法、技术用倒是会用,但猛地一看 考题,有的确实懵逼,还有徘徊不定的,尤其是客观题。 第一次考试在客观题上吃了亏,然后我就在网上搜集整理一些题 目,如下。第二次考试还算顺利,总算是通过了。看到这篇文章的, 希望能帮到你们。有的企业很注重基础的东西,有的则更偏向于你的 项目经验,但做项目,还是依靠于你的编程基础,所以打好基础有益 无害,多学一点没坏处。当然了,对于大佬们而言,我这些东西就班 门弄斧了,下面的题都是我在网上,牛客网搜集起来的,对于 python 基础不太好或者说 python 初学者的小伙伴来说,应该是一个不错的 学习资料,任何时候,基础的东西不能忘。 注:编程题整理的很少,编程是一个仁者见仁智者见智的过程,按照 需求来,最终把需求实现就 ok 了。
Python 基础知识考题 一、选择题 B、x = (y = z + 1) B、40XL C、self D、__name__ 1.下列选项不能创建一个字典的是( ): A dict ={ } B dict={ 3:5 } C dict={ [3,4] }: ”test” } D dict={ (1,2) : ”test” } 2.关于 python 内存管理,下列说法错误的是( ): A 变量不必事先声明 B 变量无需实现创建和赋值而直接使用 B 变量无需指定类型 D 可以用 del 释放资源 3. 下列哪个语句在 Python 中是非法的?( ) A、x = y = z = 1 C、x, y = y, x D、x += y 4. 下面哪个不是 Python 合法的标识符( ) A、int32 5. 下列哪种说法是错误的 ( A ) A、除字典类型外,所有标准对象均可以用于布尔测试 B、空字符串的布尔值是 False C、空列表对象的布尔值是 False D、值为 0 的任何数字对象的布尔值是 False 6.Python 不支持的数据类型有 () A、char 7.关于 Python 中的复数,下列说法错误的是( ) A、表示复数的语法是 real + image j B、实部和虚部都是浮点数 C、虚部必须后缀 j,且必须是小写 D、方法 conjugate 返回复数的共轭复数 8.关于字符串下列说法错误的是 ( ) A、字符应该视为长度为 1 的字符串 B、字符串以\0 标志字符串的结束 C、既可以用单引号,也可以用双引号创建字符串 D、在三引号字符串中可以包含换行回车等特殊字符 9.下列 Python 语句正确的是 () A、min = x if x < y else y B、max = x > y ? x : y C、if (x > y) print x D、while True : pass B、int C、float D、list
10. 计算机中信息处理和信息储存用() A 二进制代码 B 十进制代码 C 十六进制代码 D ASCII 代码 11. python 源程序执行的方式() A 编译执行 B 解析执行 C 直接执行 D 边编译边执行 12. Python 语言语句块的标记是() A 分号 B 逗号 C 缩进 D / 13. 以下是字符转换成字节的方法是(B) A decode() 14. 以下是正确的字符串() A ‘abc”ab” B ‘abc”ab’ C “abc”ab” D “abc\”ab” 15. “ab”+”c”*2 结果是:() A abc2 16. 以下会出现错误的是() A ‘北京’.encode() B ‘北京’.decode() C ‘北京’.encode().decode() D 以上都不会错误 17. 如下: B encode() C upper() D rstrip() D ababcc B abcabc C abcc str1 = "Runoob example....wow!!! str2 = "exam"; print(str1.find(str2, 5)) 打印的结果是() B 7 C 8 D -1 A 6 18. 下面对 count(),index(), find()方法描述错误的是() A count() 方法用于统计字符串里某个字符出现的次数 B find() 方法检测字符串中是否包含子字符串 str 如果包含子字符串返回开始的索引值, 否则会报一个异常 C index() 方法检测字符串中是否包含子字符串 str, 如果 str 不在 返回-1 D 以上都错误 19. 有下面的程序段 if k<=10 and k >0: if k >5: if k>8: x=0 else: X=1 else: if k>2: x=3 x=4 else: 其中 k 取那组值时 x =3 ()
B 3,4 D 4,5 B with C 5,6,7 A 3,4,5 20. 以下不是 python 中的关键字() A raise C import D final 21. 调用以下函数返回的值() def myfun(): pass A 0 22.函数如下: def showNnumber(numbers): for n in numbers: B 出错不能运行 C 空字符串 D None print(n) 下面那些在调用函数时会报错() A showNumer([2,4,5]) C showNnumber(3.4) 23.函数如下: def chanageInt(number2): number2 = number2+1 print("changeInt: number2= ",number2) B showNnumber(‘abcesf’) D showNumber((12,4,5)) #调用 number1 = 2 chanageInt(number1) print("number:",number1) 打印结果哪项是正确的() A changeInt: number2= 3 B changeInt: number2= 3 C number: 2 D number: 2 24. 函数如下: def chanageList(list): list.append(" end") number: 3 number: 2 changeInt: number2= 2 changeInt: number2= 3 print("list",list) #调用 strs =['1','2'] chanageList() print("strs",strs) 下面对 strs 和 list 的值输出正确的是( ) A strs ['1','2'] C list ['1','2',’end’] 25. 定义类如下: B list D strs ['1','2',’end’] ['1','2'] class Hello(): pass 下面说明错误的是( C D ) A 该类实例中包含__dir__()方法 B 该类实例中包含__hash__()方法
C 该类实例中只包含__dir__(),不包含__hash__() D 该类没有定义任何方法,所以该实例中没有包含任何方法 26.定义类如下: class hello(): def showInfo(sef): print(self.x) 下面描述正确的是() A 该类不可以实例化 B 该类可以实例化 C 在 pycharm 工具中会出现语法错误,说 self 没有定义 D 该类可以实例化,并且能正常通过对象调用 showInfo() 27. 关于 python 类 说法错误的是() A 类的实例方法必须创建对象后才可以调用 B 类的实例方法必须创建对象前才可以调用 C 类的类方法可以用对象和类名来调用 D 类的静态属性可以用类名和对象来调用 28. 定义类如下 class Hello(): def __init__(self,name) self.name=name def showInfo(self) print(self.name) 下面代码能正常执行的 ( C ) A h = Hello h.showInfo() B h = Hello() h.showInfo(‘张三’) C h = Hello(‘张三’) h.showInfo() D h = Hello(‘admin’) showInfo 29. 定义类如下: class A(): def a(): print(“a”) class B (): def b(): print(“b”) class C(): def c(): print(c) class D(A,C): def d(): print(“d”)
d = D() d.a() d.b() d.d() B a,d D 执行会报错 以下程序能执行的结果是() A a,b,d C d,a 30. 以下哪项 python 能正常启动() A 拼写错误 B 错误表达式 C 缩进错误 D 手动抛出异常 31 有关异常说法正确的是() A 程序中抛出异常终止程序 B 程序中抛出异常不一定终止程序 C 拼写错误会导致程序终止 D 缩进错误会导致程序终止 32. 对以下程序描述错误的是() try: #语句块 1 except IndexError as i: # 语句块 2 A 改程序对异常处理了,因此一定不会终止程序 B 改程序对异常处理了,不一定不会因异常引发终止 C 语句块 1,如果抛出 IndexError 异常,不会因为异常终止程序 D 语句块 2 不一定会执行 33. 导入模块的方式错误的是() A import mo C import mo as m 34. 以下关于模块说法错误的是() D import m from mo B from mo import * A 一个 xx.py 就是一个模块 B 任何一个普通的 xx.py 文件可以作为模块导入 C 模块文件的扩展名不一定是 .py D 运行时会从制定的目录搜索导入的模块,如果没有,会报错异常 二、填空/简答 1.如何用 pip 安装指定版本的第三方库?比如安装 django(1.11.11 版本) cmd 中 pip install django ==1.11.11 2.代码:print=”Hello iSoftStone” print(print) 输出打印的结果是_______ 报错 TypeError (参考 LEGB 原则) LEGB 代表名字查找顺序: Locals -> enclosing function -> globals -> builtins Locals: 函数内的名字空间,包括局部变量和形参 Enclosing: 外部嵌套的名字空间(常见于闭包) globals: 全局变量,函数定义所在模块的名字空间
builtins: 内置模块的名字空间 3.将 list[‘1’, ’2’, ’3’] 列表里的内容拼接成字符串 ”1,2,3”, 用 join 方法。 list = [“1”, ”2”, “3”] str=’ , ‘.join(list) print(sttr) 4. str=”abcdef”, 如何用切片操作将 str 反转得到 str= ”abcde”? print(str[: : -1]) 或 print(str[-1: : -1]) 5.装饰器的作用以及基本语法是什么? 在不改变函数原有功能的基础上为函数增加新的功能。 强调装饰器的原则:a 不修改被装饰对象的源代码 b 不修改被装饰对象的调用方式 基本语法: def wrapper(func): def inner(*args,**kwargs): return func(*args,**kwargs) return inner 6.可迭代对象、迭代器对象的区别 迭代对象不一定是迭代器对象,迭代器对象一定是可迭代的。 7 . hasattr、setattr、getattrs 的使用方法 hasattr:判断一个实例对象中是否含有 name 的属性或者方法名为 name; setattr:给一个实例对象增加一个 key-val 形式的键值; getattr:取一个实例对象中的 name 属性或者方法名为 name 8 . return、yield 的使用区别? 在一个函数里 return 只有一个,只要遇到 return 就会停止执行该函数; 一个函数里 yield 可以有多个,通过 next()函数进行访问。 9. 类中内置的 getattr、setattr 方法的作用是_______ getattr 是内置方法,当使用点符号获取属性时,如果属性不存在就自动调用 getatr 方法; setarr:当设置类的实例属性时自动调用,如 obj.name=5 就会调用 setarr。 10. 在实际项目中都用过哪些模块? re、os、time、random、math、…… 11. 什么是 GIL(全局解释器锁) 与互斥锁? 互斥锁:保证锁定同一个线程,修改这个完整数据后释放该锁,时用户程序自己的锁。 使用情况:因为使用时暂用时间,影响其他线程等待,所以尽量修改处理块的数 据后立即释放锁。 GIL: 全局解释器锁,一个进程中,只能同时仅有一个线程来执行,获得相关的锁,获取相 关资源。如果一个进程只能由一个线程来执行,同一进程下的多线程的并行则成为不可能, 即使这几个线程之间不存在资源的竞争。从理论上讲,我们要尽可能使程序更加并行,能够 充分利用多核的功能。 12 . python 里面测试框架有哪些? unittest、unittest2、nose、doctest、pytest 13. 已知 x=”a b c d”, 那么表达式 ‘ , ‘.join(x.split() )的结果是: ‘a,b,c,d’ 或 a,b,c,d 14. 表达式 eval(“3+5”)的结果是: 15. 表达式”Hello world!”[-4:]的结果是: 16. 表达式 3 in [1,2,3] 的结果是: True 17.已知 x= [3,3,4], 那么表达式 id( x[0] )==id( x[1] ) 的结果是: rld! 或 ‘rld!’ 8 True
18 . Python 中,运算符表示集合 A 是集合 B 的子集和真子集: 19. 表达式 set=(1,2,2,3) ==(1,2,3) 的结果是: 20. 已知列表 x=[1,2], 执行语句 y=x 后,表达式 x is y 的结果是: 21. python 中用于底层网络交互的库有哪些? requests、socket, urllib,urllib3 , grab, pycurl 22. python 常见的命令行交互自动化模块有哪些? setA<=setB、setA
分享到:
收藏