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

(一)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)
<class 'set'> 索引就没有任何意义,切片操作符 [] 不起作用;

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

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

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

  1. linux驱动工程面试必问知识点

    linux内核原理面试必问(由易到难) 简单型 1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些? 2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化, ...

  2. 互联网公司面试必问的mysql题目(上)

    又到了招聘的旺季,被要求准备些社招.校招的题库.(如果你是应届生,尤其是东北的某大学,绝对福利哦) 介绍:MySQL是一个关系型数据库管理系统,目前属于 Oracle 旗下产品.虽然单机性能比不上or ...

  3. python笔记39-unittest框架如何将上个接口的返回结果给下个接口适用(面试必问)

    前言 面试必问:如何将上个接口的返回结果,作为下个接口的请求入参?使用unittest框架写用例时,如何将用例a的结果,给用例b使用. unittest框架的每个用例都是独立的,测试数据共享的话,需设 ...

  4. 互联网公司面试必问的Redis题目

    Redis是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到.Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点. 介绍:Redi ...

  5. 【面试必问】python实例方法、类方法@classmethod、静态方法@staticmethod和属性方法@property区别

    [面试必问]python实例方法.类方法@classmethod.静态方法@staticmethod和属性方法@property区别 1.#类方法@classmethod,只能访问类变量,不能访问实例 ...

  6. 互联网公司面试必问的mysql题目(下)

    这是mysql系列的下篇,上篇文章地址我附在文末. 什么是数据库索引?索引有哪几种类型?什么是最左前缀原则?索引算法有哪些?有什么区别? 索引是对数据库表中一列或多列的值进行排序的一种结构.一个非常恰 ...

  7. 面试必问:JVM类加载机制详细解析

    前言 在Java面试中,简历上有写JVM(Java虚拟机)相关的东西,JVM的类加载机制基本是面试必问的知识点. 类的加载和卸载 JVM是虚拟机的一种,它的指令集语言是字节码,字节码构成的文件是cla ...

  8. 一线大厂Java面试必问的2大类Tomcat调优

    一.前言 最近整理了 Tomcat 调优这块,基本上面试必问,于是就花了点时间去搜集一下 Tomcat 调优都调了些什么,先记录一下调优手段,更多详细的原理和实现以后用到时候再来补充记录,下面就来介绍 ...

  9. Java面试必问之Hashmap底层实现原理(JDK1.7)

    1. 前言 Hashmap可以说是Java面试必问的,一般的面试题会问: Hashmap有哪些特性? Hashmap底层实现原理(get\put\resize) Hashmap怎么解决hash冲突? ...

随机推荐

  1. 并查集+时光倒流 || [JSOI2008]星球大战starwar || BZOJ 1015 || Luogu P1197

    题面:P1197 [JSOI2008]星球大战 题解: 坑点有点多啊,加上我本来就有点头昏脑涨,一道水题写了一万年.. 并查集不支持拆开(但是可以撤销合并),只支持合并.所以把询问离线了,从最后状态到 ...

  2. redis缓存穿透-解决方案

    上面的解决方案个人觉得时有误的,因为就算缓存了value的null值,后面的接口请求还是会判断走数据库,所以看解决方案二 解决方案二: https://blog.csdn.net/muyi_amen/ ...

  3. iptables内网访问外网 ε=ε=ε=(~ ̄▽ ̄)~

    介绍 iptables概述: netfilter/iptables : IP信息包过滤系统,它实际上由两个组件netfilter 和 iptables 组成. netfilter/iptables 关 ...

  4. eclipse error pages 打红X的解决方法

    建一个Maven项目转为web项目的时候,这里总有这么多文件,而且还会有一个Error Pages的错红的红叉,看着很不爽. 虽然项目中没有出现过错误,感觉是个错误,解决方法如下.原来这是eclips ...

  5. 前端面试题-CSS优先级

    一.选择器优先级 浏览器通过优先级来判断哪一些属性值与一个元素最为相关,从而在该元素上应用这些属性值.优先级是基于不同种类选择器组成的匹配规则. 二.优先级计算 优先级就是分配给指定的CSS声明的一个 ...

  6. CAP 与 注册中心

    https://blog.csdn.net/fly910905/article/details/100023415 http://www.ruanyifeng.com/blog/2018/07/cap ...

  7. k8spod生命周期

    pod对象自从创建开始至终止退出的时间范围称为生命周期,在这段时间中,pod会处于多种不同的状态,并执行一些操作:其中,创建主容器为必须的操作,其他可选的操作还包括运行初始化容器(init conta ...

  8. 【LuoguP5383】[模板]普通多项式转下降幂多项式

    传送门 Sol (怎么老是有人喜欢出新的多项式毒瘤板子,懒得整到一起了) 核心就是把 幂用下降幂来代替. 使用斯特林数展开幂为下降幂: \[x^n=\sum_{i=0}^n{x\choose i}i! ...

  9. matplotlib 模块

    目录 matplotlib 模块 1.条形图 2.直方图 3.折线图 4.散点图+直线图 5.饼图 6. plot 函数参数 7.图像标注参数 matplotlib 模块 1.条形图 import m ...

  10. C# 2.0

    序言 泛型 为什么需要泛型? 分部类型 分部类和方法 partial 匿名方法 使用Delegate的时候很多时候没必要使用一个普通的方法,因为这个方法只有这个Delegate会用,并且只用一次,这时 ...