高级测试工程师面试必问面试基础整理

发布于 更新于

技术文章

(一)python数据类型问题list1,Python3 数据类型有哪些?Number 数字String 字符串 List 列表 Tuple 元组 Dictionary 字典 Set 集合 ...

(一)python数据类型问题list


1,Python3 数据类型有哪些?


Number 数字

String 字符串 

List 列表 

Tuple 元组 

Dictionary 字典 

Set 集合 


Null  空值

Boolean 布尔值 

一共8种,前6种为常见数据类型。

 


(二)Python的数据类型概念,这里会问数据类型区别,例如,list和set区别,list和tuple区别等等:


 1,Number 数字:

int(整型)

float(浮点型)

complex(复数)

 2,String 字符串:


可以使用单引号('')或双引号("")来表示字符串;

多行字符串可以使用三重引号 ''' 或 """来表示;

字符串可以被索引和截取;

加号(+)是字符串的连接符, 星号(*) 表示复制当前字符串,紧跟的数字为复制的次数;

字符串内部既包含'又包含",可以用转义字符\来标识

比如: 

'I\'m \"OK\"!'

\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\

3,List 列表:


列表是有序的元素序列;

元素的类型可以不同,支持数字、字符串,列表;

用 [] 标识,内部元素用逗号分隔;

可以被索引和截取;

列表中元素的值可以被改变;

4,Tuple 元组:


元组与列表相同,也是有序序列,唯一的区别是元组是不可变的;

用 () 标识,内部元素用逗号分隔;

可以被索引和截取,但是不能被更改;

可以包含可变的对象,例如:List;


构造一个空的或者包含一个元素的元组比较特殊,所以要采用一些额外的语法规则:

>>> tup1 = ()  # 空元组

>>> tup2 = (5, )  # 一个元素,需要在元素后添加逗号

5,Set 集合:


集合是一个无序不重复元素集;

用 {} 标识,内部元素用逗号分隔;

  可以使用大括号 {} 或者 set() 函数创建集合,注意: 要创建一个空集合,必须使用 set() 而不是 {},因为 {} 用于创建一个空字典。


>>> s = {5, 'Python', 1+2j}

>>> type(s)


索引就没有任何意义,切片操作符 [] 不起作用;


 不重复,是指集合中相同的元素会被自动过滤掉,只保留一份;


>>> s = {"PHP", "Python", "Java", "Python", "PHP"}

>>> s

{'PHP', 'Python', 'Java'}  # 去重


  进行成员测试(使用in关键字)


s = {'a',10,'b',1 + 3j,5.5}

if( 'b' in s):

    print('b在集合中')

else:

    print('b不在集合中')

  集合运算


  s1 = {'a','b','c'}

  s2 = {'b','c','e'}

  print(s1 - s2) # a和b的差集,结果为{'b'}

  print(s1 | s2) # a和b的并集,结果为{'a','b','c','e'}

  print(s1 & s2) # a和b的交集,结果为{'b','c'}

  print(s1 ^ s2) # a和b中不同时存在的元素,结果为{'a','e'}


6,Dictionary 字典:


字典是键值对的无序集合;

有大量的数据时会使用;

  用 {} 标识,其中的每个元素都以 key:value 对的形式出现,key 和 value 可以是任何类型,注意: 字典中的 key 必须是唯一的;


  可以用 key 来检索相应的 value;


  内置函数:keys()、values()、clear()


  >>> d.keys() # 所有键


  dict_keys(['name', 'site'])

  >>> 

  >>> d.values() # 所有值

  dict_values(['Python', 'www.python.org'])

  >>> 

  >>> d.clear() # 清空字典

  >>> d

  {}



 


 


  


(三)python常用函数方法list:


1,内置函数   


type() :获取变量或值的类型


>>> type(i)

isinstance() :来检查一个对象是否属于一个特定的类


>>> isinstance(c, complex)

True

eval():可以将字符串转成有效的表达式(列表list,元组tuple,字典dict,集合set)来求值或者计算结果


 


a = '[1,2,3,4,5]'

print(type(a))

print(type(eval(a)))

——————————————————————————————————————————————————

 

 


len():返回字符串的长度;


.lower():将字符串中的大写字母转化成小写并返回,不改变原来的字符串;


.upper():将字符串中的小写字母转化成大写并返回,不改变原来的字符串;


.swapcase():将字符串中的大写字母转化成小写,小写字母转化成大写,并返回,不改变原来的字符串;


.capitalize():返回字符串中的首字母大写,其余字母小写,不改变原来的字符串;


islower():测试所有字符是否均为小写形式;


isupper():测试所有字符是否均为大写形式;


replace(old,new):将字符串中所有子串old替换为new并返回;


split():将空格分隔的单词以列表的形式返回;


strip():删除字符串两端的空白符并返回;


len(L): 返回列表L中的元素数量

max(L): 返回列表L中的最大值

min(L): 返回列表L中的最小值

sum(L): 返回列表L中所有元素的和


L.append(v) 将值v添加到列表L中

L.insert(i,v)将值v插入到列表L的索引i处,同时将其后的元素往后移以便腾出位置

L.remove(v)从列表L中移除第一次找到的值v

L.reverse()反转列表L中的值的顺序

L.sort()队列表L中的值以升序排序(字符串以字母表顺序为准)

L.pop()移除并返回列表L的最后一个元素(该列表不得为空)

add :往集合中添加一个元素

clear :移除集合中的所有元素

difference-: 根据一个集合中不存在于另一个集合中的元素,创建中一个新的集合

intersection&: 根据两个集合中共有的元素,创建出一个新的集合

issubset<=: 判断一个集合的所有元素是否都包含于另一个集合

issuperset>= :判断一个集合是否包含了另一个集合中的所有元素

remove :移除集合中的一个元素

symmetric_difference :^根据两个集合中所有不存在于对方的元素,创建出一个新的集合

union :根据两个集合中所有的元素,创建出一个新的集合

clear :清空字典内容

get :返回关键字所关联的值,如果指定键不存在,则返回默认值

keys :以列表的形式返回字典中的所有键。所得列表中的每个条目肯定是唯一的

items :返回(key,value)列表

values :以列表的形式返回字典中的所有值。所得列表中的每个条目不一定是唯一的

update: 用另一个字典的内容对当前字典进行更新


如有疑问,请留言告知,或者咨询柠檬班自动化测试培训平台:www.ceshiren.com官网客服哦

留言领取100G软件测试全面课程视频。


继续阅读