python面试题
01、python2中有range和xrange,这两个有什么区别?
在py2中,range得到的是一个列表,xrange得到的是一个生成器对象
在py3中去掉了xrange,range为py2中的xrange,返回生成器对象,节省资源
02、print(int('111', 2)) 的结果是?
6,是将‘111’按二进制转换成十进制
03、在python当中如何获取命令行参数?
04、test = [{'name':'tom', 'salary':20000}, {'name':'jack', 'salary':15000}, {'name':'liming', 'salary':10000},],根据salary由大到小进行排序
print(sorted(test, key=lambda key: key['salary'], reverse=True))
05、python中id、is、=、== 分别是比较什么的?
分别是:id(身份标识)、type(数据类型)和value(值)。
is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。下面来看看具体区别在哪。
==比较操作符和is同一性运算符区别
==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等,例如下面两个字符串间的比较:
06、python的小数据池是什么?
07、truncate的作用?
08、如何调整文件中的指针?
09、f.write('hello'),hello是写进了文件还是只是存在内存当中?如何使写的内容主动存储到文件中?
10、流程控制当中:pass、continue、break、exit分别是什么作用?
11、python当中的赋值、浅拷贝、深拷贝有什么区别?
12、python中的可变数据类型有哪些?为什么叫做可变数据类型?
13、python中lambda、map、filter、reduce这些内置函数的作用?利用这些函数,找出1到100中所有的奇数。
14、为什么*args和**kwargs叫做函数的非固定参数?它们是什么数据类型?
15、函数的作用域有哪些?作用域的查找顺序?
16、给出最后print的结果 【6,6,6,6】 https://blog.csdn.net/qq_45632139/article/details/106956382
def multipliers():
return [lambda x : i * x for i in range(4)]
print([m(2) for m in multipliers()])
17、字符串的拼接可以使用+和join完成,两者有什么区别?
str+=‘字符串’ : 耗时耗力,因为每次都会开辟新的空间(字符串不可变)
join() : 利用列表可变的性质,省时省力,性价比更高
18、python的自省是指的什么?
自省就是面向对象的语言所写的程序在运行时,所能知道对象的类型.
19、一行代码实现1-100偶数求和,至少5种方式
https://www.cnblogs.com/nly666/p/14633163.html?ivk_sa=1024320u
##方法2 sum函数.列表解析式,数组切片
#res=sum([i for i in range(1,100) if i%2==1])
#print(res)
#res=sum([i for i in range(1,100,2)])
#print(res)
#res=sum(list(range(1,100))[::2])
#print(res)
20、什么是闭包函数,闭包函数满足什么样的条件?请写一个常见的闭包函数。
21、什么是递归函数?请用递归函数实现10的阶乘:10*9*8*7....*1
22、什么是装饰器,装饰器的作用是什么?
23、写一个简单的登录验证的装饰器。
24、什么是可迭代对象、迭代器、生成器?

25、json和pickle模块的作用是什么?有什么区别?
26、利用random模块写一个6位的随机验证码,验证码内包含字母、数字(随机出现)
27、re模块中,search、match、findall的作用分别是什么?
28、用户输入一个时期格式:2020-11-06返回是一年中的第几天?
29、如何使用subprocess执行查看/bin/目录下的存在我文件或者目录?
30、类名为People,说一下下面这些特殊属性的作用。
People.__dict__
People.__module__
People.__doc__
31、内和对象在内存中是如何保存的?
32、什么是绑定到对象的方法、绑定到类的方法、非绑定方法,这些方法有什么特点?
33、python中的经典类和新式类有什么区别?
34、Python中staticmethod,和classmethod的作用是什么?
35、__slots__属性的作用是什么?
36、在python中in操作对于list, set, tuple, dict 效率如何?
37、python中异常处理的作用是什么?什么是万能异常?如何在一段代码上加万能异常?
38、什么是粘包?粘包现象是怎么发生的。如何解决粘包?
39、什么是并发和并行?
40、简述进程、线程、协程的区别以及使用场景。
41、进程之间是如何进行通信的?
42、什么是生产者消费者模型?
43、IO多路复用的作用?
44、IO模型有哪些,描述下各个IO模型的特点?
45、合并两个列表,输出一个新的列表
alist=list(map(int,input().split()))
blist=list(map(int,input().split()))
clist=set(alist+blist)
print(sorted(list(clist)))
46、字典的三种打印方式
1. 最简单的方式:
print(dict)
结果:
{‘name’: ngy, ‘age’: 23, ‘height’: 180}
- 逐个打印key:
for key in dict.keys():
print(‘key = {}’.format(key))
结果:
key = name
key = age
key = height
- 逐个打印value:
for value in dict.values():
print(‘value = {}’.format(value))
结果:
value = ngy
value = 23
value = 180
- 逐个打印key:value:
for key,value in dict.items():
print(‘{key}:{value}’.format(key = key, value = value))
结果:
name:ngy
age:23
height:180
47、Linux怎么统计当前文件夹下所有的文件数量?包含子文件?
ls -l | grep "^-"| wc -l
ls -lR | grep "^-"| wc -l
"^-":保留一般文件,目录的话为:"^d"
48、vim里面怎么统计字符串出现的个数
%s/string/&/gn
49、怎么打乱一个排序好的列表
50、PO封装的好处?
po 封装好的好处 就是实现了页面对象和测试用例的分离, 方便用例组装和功能扩展及维护!po 就是把页面每一步操作都定义成page类中的方法, 这样写用例 就只需要理清逻辑 调用方法即可 哪里出错 也能及时定位到错误的步骤方法, 用例新增一些重复的步骤也能得到复用, 功能扩展也得到分离, 避免用例太过臃肿, po模型写测试用例,更注重逻辑,清晰明了
51、selenium的原理?
当使用Selenium2.0启动浏览器时,后台同时启动基于WebDriver Wire协议的Web Server作为Selenium的Remote Server,并与浏览器绑定。之后,Remote Server就开始监听Client端的操作
执行测试时,测试用例会作为Client端,将需要执行的页面操作请求以Http Request的方式发给Remote Server;该Http Request的body,是以WebDriver Wire协议规定的JSON格式来描述需要浏览器执行的具体操作;
Remote Server接收到请求后,会对请求进行解析,并将解析结果发给WebDriver,由WebDrvier实际执行浏览器的操作;
WebDriver可以看作是直接操作浏览器的原生组件(Native Component),所以搭建测试环境时,通常都需要先下载浏览器对应的WebDriver
浙公网安备 33010602011771号