软件测试工程师学习笔记 -18

四、python

  • Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。

6. day05

  1. 列表去重:列表中存在多个数据,去除重复数据
    1)方法一
    · 思路:遍历原列表,判断该元素在新列表中是否存在。如果存在则跳过,不存在则加入
    · 遍历:for 循环实现
    · 判断:使用 in
    · 存入数据:append()
    2)方向二
    · 在 python 中还有一种数据类型(容器),称为集合(set)。其特点是集合中不能有重复的数据,有则自动去重
    · 使用 set()类型转换将 列表 转换为 集合
    · 再使用 list()类型转换将 集合 转换为 列表
    · 有个缺点:不能保证数据在原列表中出现的顺序

  2. 函数
    1)返回值:保存函数结果,以便后续调用
    2)变量进阶

    • 了解python底层是怎么处理数据的
      · 变量引用:在定义 变量 = 数据 时,python会开辟两个空间分别存放 变量、数据。本质是将数据的地址,保存到变量的内存中
      · 变量存储地址的行为就是引用(变量引用了数据地址)
      · 使用 id() 可以查询地址,如果两个变量获取的引用地址一样,则说明引用同一数据,本身就是同一数据
      · 只有 赋值运算符 = 可以改变变量的引用
      3)变量分为可变类型和不可变类型:数据在内存中允许被修改即可变类型,否则不可变
      · 可变类型:列表list 、字典dict 、集合set
      · list.append()、dict.pop(键)
      · 其余均不可变:int、float、bool、str、tuple
      · 元组不可变实质上是说,元组内元素地址不可变,即使改变元组嵌套的列表内容,该元组元素—列表仍保持原地址
      · 列表可变实际上就是列表内元素地址可变
  3. 面试题
    题目一:分析下列代码运行结果
    题目一
    题目二:分析下列代码运行结果
    题目二
    题目三:列表 += 操作
    题目三
    题目四:交换两个数的值(python特有方法)

    a,b = b,a
    

    此处涉及到两个概念:

    1. 组包:pack,将多个数据值用逗号连接,组成元组
    2. 拆包:将容器中的数据值使用多个变量分别保存的过程,注意:变量个数与容器中数据个数要保持一致
  4. 局部变量和全局变量
    1) 局部变量:在函数内部定义的变量,称为局部变量。其特点:

    • 只能在当前函数内部使用,不能在其他函数和函数外部使用;
    • 在不同函数中可以定义名字相同的局部变量,两者互不影响;
    • 生命周期:函数调用局部变量被创建,调用结束局部变量被销毁。
      所以,在函数中的局部变量想在函数外使用时,需要return返回

    2) 全局变量:在函数外部定义的变量,称为全局变量。其特点:

    • 可以在任何函数中读取全局变量的值;
    • 如果函数中存在与全局变量名字相同的局部变量,函数中使用的是 局部变量 的值;
    • 在函数内部想要修改全局变量的引用,需要添加 global 关键字,对变量声明为 全局变量
    • 生命周期即代码生命周期
  5. 返回值-函数返回多个数据值,一般进行组包,按照元组返回

  6. 函数参数
    1)参数传参的方式
    · 位置传参:调用函数时,按照形参顺序将实参值传给形参
    · 关键字传参:函数调用时指定数据值传给形参
    2)缺省参数:默认参数
    · 函数定义时,给形参一个默认数据值,这个形参就变成缺省参数
    · 缺省参数在函数调用时可以传递实参值,也可以不传。不传时使用默认值
    3)多值参数(可变参数/不定长参数),例如 print 函数
    · 不定长位置参数(不定长元组参数):在普通参数前加上*,这个参数就变成不定长位置参数。形参数据类型是元组,一般写法 不定长位置参数名字 args
    · 不定长关键字参数(不定长字典参数):在普通参数前加上**,这个参数就变成不定长关键字参数。形参数据类型是字典,一般写法 不定长位置参数名字 kwargs,即(**kwargs)

  7. 小结
    小结

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐