高级测试工程师面试必问面试基础整理——python基础(一)(首发公众号:子安之路)

如今深圳市场行情,高级测试工程师由于都须要对编程语言有较高的要求,可是大部分又没有python笔试机试题,因此面试必问python基础,这里我整理一下python基本概念,陆续收集到面试中python相关问题都会整理在这里python

 

(一)python数据类型问题list面试

1,Python3 数据类型有哪些?编程

Number 数字
String 字符串 
List 列表 
Tuple 元组 
Dictionary 字典 
Set 集合 

Null  空值
Boolean 布尔值 

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

 

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

 

1,Number 数字:
int(整型)
float(浮点型)
complex(复数)

 2,String 字符串:app

可使用单引号('')或双引号("")来表示字符串;
多行字符串可使用三重引号 ''' 或 """来表示;
字符串能够被索引和截取;
加号(+)是字符串的链接符, 星号(*) 表示复制当前字符串,紧跟的数字为复制的次数;
字符串内部既包含又包含能够用转义字符来标识
好比: 

表示换行,表示制表符,字符自己也要转义,因此表示的字符就是
'",\'I\'m \"OK\"!'\n\t\\\\

3,List 列表:编程语言

列表是有序的元素序列;
元素的类型能够不一样,支持数字、字符串,列表;
用  标识,内部元素用逗号分隔;
能够被索引和截取;
列表中元素的值能够被改变;[]

4,Tuple 元组:函数

元组与列表相同,也是有序序列,惟一的区别是元组是不可变的;
用  标识,内部元素用逗号分隔;
能够被索引和截取,可是不能被更改;
能够包含可变的对象,例如:List;

构造一个空的或者包含一个元素的元组比较特殊,因此要采用一些额外的语法规则:()
>>> tup1 = () # 空元组 >>> tup2 = (5, ) # 一个元素,须要在元素后添加逗号

5,Set 集合:测试

集合是一个无序不重复元素集;
用  标识,内部元素用逗号分隔;{}

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

>>> s = {5, 'Python', 1+2j} >>> type(s) <class 'set'>

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

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

>>> 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)
<class 'int'>

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

>>> isinstance(c, complex)
True

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

 

a = '[1,2,3,4,5]'
print(type(a)) print(type(eval(a)))
——————————————————————————————————————————————————

 <class 'str'>
 <class 'list'>

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: 用另外一个字典的内容对当前字典进行更新