一、Python的常用数据有哪些?
Python的常用数据有:整型,浮点型,字符串,布尔型,列表,元组,字典,集合。
二、Python中的一个字符串 str1=“python is the best!” ,要取出来 " Python "这个字符可以怎么实现?把 "best"字符取出来又怎么取?
用字符串的切片实现,取 “python” :str1[0:6:1]
取 “best” :str1[-5:-1]
三、你能说说Python的列表、字典和元组的区别么?
1)列表和元组的元素都是有序的,所以可以通过索引来取值;
2)但是元组的元素不可以被改变,而列表是可以进行元素的增删改查的;
3)字典在Python3.6之前都是无序的,所以不能通过索引来取值,可以通过key来取value值;
4)字典的key不能重复和修改,value可以修改,而且键值对可以增加删除。
四、怎么取出两个列表中的相同的元素?
for i in list1:
for j in list2:
if i == j:
list3.append(i)
五、能解释一下函数的 *args 和 **kwargs两种参数的区别?
这两个都是函数的不定长参数:函数调用的时候,可传可不传,也可以传一个或者多个;
*args :这种不定长参数,是当函数的必备参数和默认参数接受完后,剩下的参数都会被它接受,并且以元组的格式保存;传参方式是通过位置传参。
**kwargs : 这种不定长参数也是当函数的必备参数和默认参数接受后,剩下的参数都会被它接受,但是这是以字典格式保存;而且这种需要用关键字传参方式来传参。
六、说说你对函数的返回值的理解
函数结束后,可以设置一个返回的数据,给调用这个函数的代码使用,这个返回的数据叫做 “返回值” 。Python里用return这个关键字来定义。
1)return后面的表达式可以有一个,或者多个,用逗号隔开;返回的是元组格式;
2)不需要返回值的时候,就返回None;函数默认返回值就是None;
3)return语句标志着函数的结束,return语句后面的语句不再执行。
七、你们的Python接口自动化测试用的什么库?你能简单描述一下这个库是如何发送接口请求的么?
我们用的是Python的第三方库requests库;我们的接口协议都是http协议,用的基本都是get和post请求;requests库有很多自带的方法,比如get方法和post方法,我们从开发那边了解到这个接口的地址,以及需要传的参数,用对应的方法发送到服务器接口;然后得到相应消息之后,可以直接通过相应消息对应的方法,获取到对应的内容,比如页面内容,响应码和头部、cookies等等;得到这些信息,再去跟预期结果做对比就好了。
八、你们做自动化测试的时候用什么操作的测试用例?能说说具体操作步骤么?
因为我们的测试用例都放在了Excel表格中,所以我们用的是openpyxl库来操作Excel表格;openpyxl有自带的方法可以分别去获取Excel表格对象、表单(sheet)、表格( cell )以及表格里的内容;把读取到内容保存到列表和字典中,方便后续使用。
九、 Python的Requests库,如果要发送带cookies的请求你们是怎么处理的?
Python的requests库自带一个session模块,用这个模块的session()方法去发送接口请求,可以自动携带cookies,不用手动传输;当然,手动传输也可以,先获取到cookies值,在接口请求的时候再带上对应的cookies值也是OK的。
十、某比赛需要获取你的个人信息,设计一个程序:
1)运行时分别提醒输入 姓名、性别、年龄 ,输入完了,请将数据存储起来,
2)数据存储完了,然后输出个人介绍,格式如下: 我的名字XXX,今年XXX岁,性别XX,喜欢敲代码
3)平台为了保护你的隐私,需要你删除你的年龄;
1)dict1 = dict(name = input(‘请输入你的名字:’), gender = input(‘请输入你的性别:’),age = input(‘请输入你的年龄:’))
print(‘我的名字是{},今年{}岁,性别{},喜欢敲代码’ .format(dict1[‘name’],dict1[‘age’],dict1[‘gender’]))
height = input(‘请输入您的身高:’)
3)dict1.pop(‘age’)
十一、现在有字符串:str1 = ‘python hello aaa 123123aabb’
1)请计算 字符串中有多少个’a’
2)请找出字符串中’123’的下标起始位置
3)请分别判断 ‘o a’ ‘he’ ‘ab’ 是否是该字符串中的成员?
str1 = ‘python hello aaa 123123aabb’
print(str1.count(‘a’)) #取元素个数
print(str1.find(‘123’)) # find–找元素,如果找到了就返回索引,否则返回-1;
print(str1.index(‘123’)) #跟index区别:index没有找到会报错。
list1 = [ ‘o a’,‘he’,‘ab’]
for i in list1:
if i in str1:
print(’{}是该字符串中的成员’.format(i))
else:
print(’{}不是该字符串中的成员’.format(i))
十二、python循环体中break和continue由什么区别?
首先break和continue都是用来控制循环体结构的,但是break是用来结束整个循环的,也就是说当你遇到break后,整个循环都不再继续,直接终止;而continue它只是跳出本次循环,循环如果后续还有的话会继续执行