财神爷站:绿色安全的手机App下载平台
所在位置:首页 > 新闻资讯 > 编程语言Python知识点总结 测试技术信息类知识讲解

编程语言Python知识点总结 测试技术信息类知识讲解

发布时间:2022-08-04 21:37来源:财神爷站

  一、?索引与切片

  #索引?在公司中一般也叫做下标或者角标,可以通过索引位读取序列中的指定元素,索引可分为正向索引和负向索引,索引中正向索引从0开始,负向索引从-1开始

  #range?遍历函数(起始位,结束位,隔位)

  遍历函数中:包含起始不包含结束,隔位不能为0可以为

  Eg:?用range求出100以内的奇数和偶数

  print(list(range(0,101,2)))?#使用range遍历方法求出100以内偶数

  print(list(range(1,101,2)))#使用range遍历方法求出100以内奇数

  #二、切片

  切片的表达式:str[start_index:end_index:step]?[开始索引:结束索引:步长值]

  2、解释:

  start_index:开始索引(可以取值)

  end_index:结束索引(不能取值)

  step:步长

  注意点:

  3、注意点

  1)、切片中如果步长不写则默认为1

  2)、切片取值从开始索引到结束索引,且结果不包括结束索引位的值?(取到索引位的前一位)

  3)、步长从开始索引走起,步长分正负

  st=?‘abcdefgihjk’?#step步长值?能取开始索引?不能取结束索引?默认步长为1

  print(st[::-1])?#?lkjhgfedcba?面试题目:重点把字符串中的值进行反向输出

  常见的字符串函数str

  字符串的定义:要用单引号或者双引号英文?括起来表示

  1、?str.capitalize():(实现首字母大写输出)意思:首写大字母

  2、?str.count(‘XX’):统计指定的字符在当前字符串中出现的次数

  3、?””.join(‘XX’):(拼接函数)自动定义分割,来分割当前的字符串(自定义符号)

  4、?split分割函数

  5、?strip#删除字符串开头和结尾的字符

  6、str.lstrip(‘XX’):删除字符串以XX字符开头的内容

  7、str.rstrip(‘XX’):删除字符串以XX字符结尾的内容

  8、?str.startswith(‘XX’):判断字符串中以XX字符串开头,如果条件成立返回TRUE,否则返回FALSE

  9、str.endswith(‘XX’)判断字符串中以XX字符串结尾,如果条件成立返回TRUE,否则返回FALSE

  10、find、rfind通过具体的值来找到对应值的索引位,

  12、str.replace(‘XX’,‘YY’)替换指定的字符串,且可以指定替换次数

  13、replace():replace(substring,newstring,max)

  14、str.lower()将字符串中的所有大写字母改为小写

  15、str.upper()将字符串中的所有小写字母改为大写

  16、isalnum()判断字符串是否是字母或数字,数字和字母的组合

  17、isdigit?判断字符串是否是数字

  18、slower判断字符串是否是小写

  19、isupper判断字符串是否大写

  20、#istitle():判断字符串中首字母是否为大写,其他是否为小写,其他不为小写则为否

  三、python中的列表:list?[?]

  定义列表方法

  方法一、直接通过[?]来定义?([]?中括号)

  list1?=[1,2,3,‘teat’]

  print(type(list1))?# ?列表类型

  方法二、a?=‘hello’?#定义一个字符串

  b=list(a)?#通过list列表类型来将a字符串转换成为列表

  通过索引赋值:格式?列表名[?索引]=“?新值”

  通过切片赋值:格式?列表名[?索引:]=“?新值”

  append?添加元素

  exend?添加函数,(两个列表的拼接)

  insert?插入

  remove?删除

  del?删除

  sort?升序

  sorted?降序

  reverse?反转

  pop?删除(默认删除最后一个元素)

  index?索引位

  四、Python中的元组tuple?()

  元组是不可变

  1、如果要让做一个值的的元组输出的类型是元组:在数组的后面加上,(英文逗号)s=(1,)

  元组转列表

  方法一:将元组转换成列表?,通过list?方法;

  (1)第一步转换:s=(1,2,3,4,5)?#元组

  (2)第二步:转换成列表再进行修改,增加,删除

  五、python中的字典:dict类型{}?英文的大括号?也叫花括号

  一、列表转换成字典步骤?重点:(使用dict?就可以转换)

  第一步:定义一个列表

  l?=[(‘name’,‘zhangsan’),(‘age’,18)]

  第二步:使用dict?将列表转换成字典

  di_ct=dict(l)#将列表转换成为字典

  第三步:查看字典的类型

  print(type(di_ct))?# 字典类型

  第四步:在打印字典

  print(di_ct)?#{‘name’:?‘zhangsan’,?‘age’:?18}

  1、字典中添加键值对:?格式:变量名[键]?=值

  注意:字典中添加新的的键和值,默认体在最后

  2、字典中有键,替换值(键不变,值变)

  3、通过keys取出对应的键

  4、通过values?取出字典中对应的值

  5、通过键来获取对应键的值

  6、添加设置默认键值setdefault

  7、删除键(删除键,值也没有了)del

  8、使用for?循环获取key

  9、使用for循环获取key,values

  10、通过items()方法来获取对应键值对

  11、通过pop函数删除指定的键,打印返回对应键的值

  12、popitem在字典删除键值对,一般默认在末尾

  13、clear?来清空当前字典中的键值对,返回一个空字典

  14、get?,get通过键获取对应的值

  15、快速生成一个新字典的方法fromkeys

  #print?({?}.fromkeys([‘name’,‘age’]))

  16、update?方法?将多个字典合并

  17、copy?复制字典

  18、del删除字典

  六、集合:是不同元素的无序集合

  1、可变集合(set):集合里面的元素是可以发生变化,集合中可以动态的增加和删除。

  2、不可变集合(frozenset):集合里面的元素是不可以发生变化

  注意:集合中的元素是无序的,且集合后元素不重复

  去重:

  一、(1)对列表数据重复的,进行去重

  (2)对一个“字符串”进行去重

  案例1:对列表数据重复的,进行去重

  new?=?[1,2,33,2,2,99,‘test’]?#列表中元素去重

  print(type(new))

  print(new)

  yy=set(new)

  print(type(yy))

  print(yy)

  二、update?添加集合的内容

  第一种方法;

  test=“hello”

  yy=set(test)

  print(yy)

  yy.update(“8”)

  print(yy)

  第二种方法:

  test?=?‘hello’

  yy?=?set(test)

  yy.add(‘123’)

  print?(yy)

  三、clear?清除集合种的内容

  test?=?‘hello’

  yy?=?set(test)

  yy.clear()?#清除集合中的内容

  print?(yy)

  pop?删除集合中的内容

  讲解:pop()方法用于随机移除一个元素例如:set.pop()

  备注:不带参数时一般是移除最后一位,但是我们这里删除的是第一位

  test=“hello”

  yy=set(test)

  yy.pop()

  print(yy)

  remove?删除指定的内容

  a=(‘99’,‘88‘)

  yy=set(a)

  yy=remove(‘88’)

  print?(yy)

  复制集合

  test?=?‘hello’

  yy?=?set(test)

  a=yy.copy()

  print?(a)

  不可变集合?frozenset

  只能使用copy:

  第一种情况:copy(只能对不可变集合复制,)

  test?=?‘hello’

  yy?=?frozenset(test)

  a?=?yy.copy()

  print?(a)

  三、?python之判断循环语句

  python?循环语句

  一、if?判断

  二、for?循环

  第一种情况:if?单分支?(if?条件判断语句分支)

  格式:if?判断条件

  执行?语句块1

  else:

  执行?语句块2

  pass的讲解

  pss的用法:pass?表示占位,在语句中还没有想好写什么满足条件

  注意:python中的pass的作用:

  (1)pass?是一个空语句

  (2)保证格式完整

  (3)保证语义完整

  第二种情况:if?多分支?格式:

  if?判断语句1:

  执行语句块1;

  elif?判断语句2:

  第三种情况:if?语句的嵌套语句(if中嵌套一个if)

  嵌套语句格式:

  if判断条件1

  if?判断条件2:

  #?执行语句块2

  #?else:

  #?执行语句块3

  #?else:执行语句1

  执行语句块2;

  elif?判断语句3:

  执行语句块3;

  elif?判断语句4:

  执行语句块4;

  三、三目运算

  格式:?print?(?'执行语句1'?if?条件判断?else?'执行语句2')

  二、while循环语句

  实例一:?i=1?sum=0?while?i<=10?sum?+=i?i+=1?print?(sum)

  三、for循环语句

  1、for循环的语法格式如下:?for?...?in?...?语句块

  四、continue语句

  用法:continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进?行下一轮循环。

  list?=?[1,2,3,4,5,6,7,8,9]

  for?i?in?list:

  if?i==6:?continue

  print?(i)

  五、break语句

  用法:语句会立即退出循环,在其后边的循环代码不会被执行。

  list?=?[1,2,3,4,5,6,7,8,9]

  for?i?in?list:

  if?i==6:

  break

  print?(i)

  四、Python中的函数

  1、函数:一个工具,随调随用

  优点:

  (1)降低代码冗余

  (2)增加代码的复用性,提高开发效率

  (3)提高程序扩展性

  (3)函数有两个阶段:定义阶段,调用阶段。

  (4)定义时:只检查函数体内代码语法,不执行函数体内代码。

  (5)比如:我们存储的过程,就是把所有的语句块,调用

  (6)封装:就是把代码片段放在函数当中

  2、自定义函数

  def?自定义函数名():

  函数体

  函数?的调用格式?函数名()

  举例:def?fun():

  print(‘请输入密码:’)

  调用:fun()

  调试时调用多个函数:if?__name__=='__main__':

  从其他模块调用:import?aa?(导入aa模块)

  aa.fun(?)(调用aa模块的fun函数)

  3、可变长元组(*list)与可变长字典(**dict)

  4、全局变量与局部变量

  5、return(函数的返回值)

  6、内置函数(format、zip、open、with?open、abs、sum、map)

  1.1?format(格式化输出函数)

  a?='{}'.format('hello','ni','hao')

  print(a)?#打印结果?hello

  1.2?zip(打包函数)

  打包:zip(a,b)?print(list(zip(a,b)))

  解压:s,c=zip(*zip(a,b))?print(list(s))

  1.2?open(打开与编辑文件)

  open完整的语法格式为:

  open(file,?mode='r',?buffering=-1,?encoding=None,?errors=None,?newline=None,?closefd=True,?opener=None)

  file:?必需,文件路径(相对或者绝对路径)。

  1.3?with?open(open的扩展)

  url?=r'C:\Users\Administrator\PycharmProjects\untitled1\requester\ss.py'

  with?open(url,'r',encoding='utf-8')as?o:

  a=o.read()

  print(a)

  五、Python中的模块

  1.模块的导入(import)

  Time模块(时间的显示)

  time.time()(显示从1970年到现在一共经历的秒数)time.ctime()(显示当前实时时间)

  time.sleep()(休眠,括号内加上数字表示休眠多少秒后再执行)

  time.strftime()(自定义时间格式:%Y-%m-%d-%H:%M:%S)

  time.asctime()(转换为asc码形式显示时间)

  3、random模块

  random.random()?随机生成0开头的浮点数

  random.randint(1,4)?随机取一个在1-4范围内的数(不包含4)

  random.sample(a,4)?在a中随机抽取4个数生成一个列表

  random.randrange()?递增随机取一个值

  random.choice(a)?在a列表中随机取一个值

  random.shuffle()?随机洗牌(将列表中的所有元素随机调?动输出)

  2.string模块(字符串)

  string.digits?生成0-9的整数

  string.hexdigits?生成0-9的整数+大小写的a-f和A-F

  string.ascii_uppercase?生成26个大写字母

  string.ascii_lowercase?生成26个小写字母

  4、加密与解密

  5、OS?模块(对于目录文件路径常用的模块)

  OS.getcwd()?获取当前文件对应的目录(相对路径)

  os.path.isfile(a_path)?判断当前是否为文件,返回布尔值

  OS.path.isdir()?判断是否为目录

  os.path.exists(a_path)?判断文件(目录)是否存在

  os.mkdir()?创建目录mkdir(a,755)注意:目要设置权限,755或者777

  os.remove(a_path)?删除文件(无法删除目录)

  os.listdir(a_path)?获取当前目录下所有的文件和目录

  os.path.split(a_path)?对某个路径进行分割,要求:把路径?分隔以后,再通过索引取出分隔后的值,在使用得到的值进行拼接,拼接成新的路径

  例如:

  #第一步先使用split分割?a_path?="D:\\bao"?print(os.path.split(a_path))?#?第二步在根据索引取值?path=os.path.split(a_path)[0]?#第三步在拼接?b_path=os.path.join(path,11.py)?print(b_path)

  os.path.abspath(a_path)?通过名称获取当前名称对应的路径(绝对路径)

  os.rename(old_path,new_path)?重命名目录和文件

  6、re模块(正则匹配)

  #?预定义字符集匹配:

  \?d:?数字0-9

  \D:?非数字

  \s:?空白字符

  \n:?换行符

  \w:?匹配字母数字

  \W:?匹配非字母数字

  ^:表示的匹配字符以什么开头

  $:表示的匹配字符以什么结尾

  *:匹配*前面的字符0次或n次?#eg:ab(*?能匹配a?匹配ab?匹配abb?)

  +:匹配+前面的字符1次或n次

  ?:匹配?前面的字符0次或1次

  {m}:匹配前一个字符m次

  {m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是

  1、findall?#从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个空列表[]

  2、compile?#编译模式生成对象,找到全部相关匹配为止,找不到返回一个列表[]

  3、match?#?从第一个字符开始匹配,如果第一个字符不是要匹配的类型、则匹配失败并报错#?注意:如果规则带了'+',则匹配1次或者多次,无'?+'只匹配一次

  4、search?#从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,找不到则报错

  六、类与对象

  1、面向对象的基本概念:类(所有具有相同属性和方法的对象的集合)、对象(通过类定义的数据结构实例)、方法(类中定义的函数)、类变量(实例中对象公用的,定义在类中且在函数体之外)、实例变量(用self修饰的变量)

  2、定义与使用类

  定义格式:class?people()

  Def?__init__(self,name)

  创建对象:p=people(‘xx’)

  3、类中的实例方法、动态方法、静态方法

  实例方法

  定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法);

  调用:只能由实例对象调用。

  动态方法(类方法classmethod)

  定义:使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法(不能传实例的属性和方法);

  调用:实例对象和类对象都可以调用。

  静态方法(staticmethod)

  定义:使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,但是方法体中不能使用类或实例的任何属性和方法;

  调用:实例对象和类对象都可以调用。

  4、类的三大特性(封装特性、继承特性、多态特性)

  封装特性

  1、类里面不光有属性还有方法。

  2、这种将属性通过方法直接在类内部操作的形式叫做封装。这里的封装是把?属性封装在类内部。

  继承特性

  1、继承:类的继承是面向对象程序设计的一个重要思想,继承时子?类可以继承父类的内容,包括成员变量和成员函数。

  2、在继承中一个类被另外一个类继承这个类称之为父类也称之为基?类,则另外一个类则为子类也称之为派生类。

  多态特性

  1、多态是以继承和重写父类方法为前提,对所有子类实例化产生的对象?调用相同的方法,执行产生不同的执行结果。

  2、例如同样是人,但是当问起一个人的职业时会有不同的结果,可能是?软件测试工程师,可能是HR?3、一个对象的属性和行为不是由他所继承的父类决定的,而是由其本身?包含的属性和方法决定的。

  • 热门资讯
  • 最新资讯
  • 下载排行榜
  • 热门排行榜