现在深圳市场行情,高级测试工程师因为都需要对编程语言有较高的要求,但是大部分又没有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. filter和filter_by 的区别

  2. Protobuffer教程

    目录 什么是protobuffer? protobuffer是如何工作的? 为什么不用xml? 1.什么是protobuffer? protobuffer是一种灵活,高效,自动化的机制,用于序列化结构 ...

  3. Android Studio 中出现APK error

    可能有很多人在用Android Studio编写程序时,时不时的会出现一个APK error的错误,反正我自从开始用Android Studio后,这个错误真的是时不时的蹦跶出来 最开始的时候,我是去 ...

  4. vs 2019 调试web项目 浏览器

  5. poj 2010 Moo University - Financial Aid 最大化中位数 二分搜索 以后需要慢慢体会

    Moo University - Financial Aid Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 6599   A ...

  6. 【LOJ2316】「NOIP2017」逛公园

    [题目链接] [点击打开链接] [题目概括] 对给定\(K\),起点\(1\)到终点\(n\)中对长度为\([L,L+K]\)的路径计数. \(L\)为\(1\)到\(n\)的最短路长度. [思路要点 ...

  7. qt 程序发布

    Qt 程序发布步骤: 注意5.5 以后不再支持 WinXP 1) dll 抽取工具 windeployqt.exe 2) Windows脚本 实例: D:\Qt\Qt5.5.0\5.5\mingw49 ...

  8. Hadoop监控指标项

    配置 修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh # 在配置namenode和datanode时都会有用到JMX_OPTS的代码,是为了减少重复提取出的公共代码 e ...

  9. phpfor函数和foreach函数

    PHP for 循环 PHP While 循环 PHP 函数 PHP for 循环执行代码块指定的次数. PHP for 循环 如果您已经提前确定脚本运行的次数,可以使用 for 循环. 语法 for ...

  10. oracle条件参数中 IN函数中的值最大只能为1000个

    delete from dep where id in(1,2,3.....) 括号里面字段个数最大只能为1000个