学通python

发布时间:2023年12月18日

学通python

(一. 涉及知识点)

  1. python基础(认识python,环境,pycharm,注释,变量,变量类型,输入输出,运算发)
  2. 流程控制结构(判断语句,循环)
  3. 数据序列(字符串,列表,元组,字典)
  4. 函数(函数基础,变量进阶,函数进阶,匿名函数)
  5. 面向对象(面向对象编程介绍,类和对象,基础语法,封装继承多态,类属性和类方法)
  6. 异常,模块(异常,模块和包,文件操作[读写文件,读写测试数据,自动化生成测试报告])
  7. UnitTest框架【单元测试的框架,也可用于管理测试用例】(UnitTest基本使用,Unitest断言,参数化,生成html测试报告)

(二. 获得的能力)

  1. 搭建python环境。

  2. 掌握python基本语法。

  3. 建立编程思维,具备基础的编程能力。

  4. 建立编程思维以及面向对象程序设计思想。

  5. 掌握如何通过UnitTest编写测试脚本,并生成HTML测试报告。


(三. 各种自动化测试框架)

python + selenium web(ui)自动化,功能测试转化为代码

python + appium 移动端(手机的APP)自动化

python + requests 接口自动化测试


(四. 内容python基础了解)

  1. python应用领域(1989年写1991年发布,荷兰 吉多.范罗苏姆)

    • 运维

    • web全栈

    • 测试人员

    • 应用领域

      • 自动化测试
      • 网络爬虫
      • web开发(写网站)
      • 自动化运维(维护优化网站)
      • 数据分析
      • 人工智能
      • 机器学习
  2. 运行原理(直接在cmd中运行,命令: python 代码文件名

  3. pytho解释器

  4. pycharm安装

  5. pycharm中编写python代码并运行

  6. 注释

    • 单行 #

    • 多行 “”“xxxx"“”,‘’‘xxxx’‘’

    • pygthon中的三种波浪线和PEP8

      • 红色:代码错误,必须处理,才能运行。
      • 灰色:PEP8的python书写规范提示。
      • 绿色:不影响正常执行,认为内容不是一个单词。
  7. 变量

    • 作用:用来存储数据
    • 定义变量:变量名=变量值,name = “张三”
    # 变量
    name = "张三"
    print('name:', name)
    age = 17
    height = 189.0
    # 小数默认显示6位
    print('名字是%s , 年龄是%d , 身高是%.2f cm' % (name, age, height))
    
  8. 数据类型(查看数据类型:type()

    1. 数字类型

      • 整型int

      • 浮点型float

      • 布尔型bool

    2. 非数字类型

      • 字符串str如,str1 = “name”

      • 列表list可变,移除,添加如,li1 = [1,2,3,4,5]

      • 元组tuple不可变,count(快,高效 )如,tu1 = (1,2,3,4)

      • 字典dict如,di1 = {‘name’:'二哈’,‘age’:‘17’}

        # 列表
        li1 = [1, 2, 3, 4, 5]
        # 字符串
        str1 = "name"
        # 元组,不可变,可以作为字典中的值参数
        tu1 = ('name', age, 'title', 4)
        dict1 = {tu1: {'二哈', 15, '海洋', 5}, 'age': age}
        print(dict1)
        
  9. 运算符


(四,python基础理论一)

  1. 字符串格式化补充

    1. zhioo

    2. l

    3. 字符串.format()

      str2 = '明天会更好'
      # 字符串格式化,在需要使用变量的地方使用大括号
      print('我的{}的'.format(str2))
      print('{}明天会更好{}'.format('我的', '的'))
      
  2. 运算符

    1. 算数
      • 幂运算**
      • /求商(结果是小数) * // %求余
      • — + * /。
    2. 比较
      • < > = != >= <=
    3. 逻辑
      • and
      • or
      • not
    4. 赋值运算符
      • =
      • 复合赋值运算
  3. 判断语句(if elseif else

    # if判断语句
    a = 10
    if a > 0:
        print("a大于0")
        
    # if-else判断语句
    if a > 0:
        print('a大于0')
    else:
    	print('a小于等于0')
        
    # if-elif-else适用于判断并列多个的情况
    if a > 0:
        print('a大于0')
    elif a != 0:
        print('a不等于0')
    else:
        print('a小于0')
       
    # if嵌套
    # debug流程
    
  4. 循环语句的基础while

    # while 判断条件:
    while 判断条件:
    	需要重复执行的代码
        修改计数器
        
    # 需要重复执行的代码,break终止循环
    while true:
    	需要重复执行的代码
        if xxx:
            break;
     
    
  5. 案例:猜拳游戏

    '''
    猜拳游戏:
    剪刀 赢 布
    石头 赢 剪刀
    布 赢 石头
    步骤:
    1.自己出拳: 石头(1)/剪刀(2)/布(3) input(player)
    2.电脑随机出拳:(使用随机数工具) (computer)
    3.判断输赢:
        玩家胜利 player == 1 and computer == 2 or player == 2 and computer == 3 or player == 3 and computer == 1
        平局 player == computer
        玩家失败 else
    '''
    import random
    
    player = int(input('请出拳头:石头(1)/剪刀(2)/布(3):'))
    computer = random.randint(1, 3)
    
    
    if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
        print("玩家胜利")
    elif (player == computer):
        print("平局")
    else:
        print("请不要气馁!再来一局")
    
    '''
    求1到100的和:
    1+2+3+4+5+6+。。。。+100
    1.定义变量 保存求和的结果
    2.定义循环,获取1到100的数字并求和
    3.打印求和的结果
    '''
    num = 0
    # 定义初始条件
    i = 1
    # 书写循环的条件
    while i <= 100:
        num += i # 每一次i的值会变化
        i += 1
    print(num)
    
    '''
    求1到100的偶数和
    1.找到所有偶数
    2. 相加
    '''
    num = 0
    i = 2
    while i <= 100:
        num += i;
        i += 2
    print(num)
    

(五,python基础理论二)

  1. 可变数据类型和不可变数据类型

    int
    float 
    bool
    str
    list:可变
    tuple
    dict:可变
    set:输出时去除重复,可变
    basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
    
  2. 类和对象

    '''
    小猫爱吃鱼案例
    需求:小猫要吃鱼,小猫要喝水,定义不带属性的类
    类名:猫类,cat
    属性:暂无
    方法:吃鱼(eat),喝水(drink)
    
    '''
    # 1. 定义类
    class Cat:
        def eat(self):# self 会自动出现
            print('小猫爱吃鱼...')
    
        def drink(self):
            print('小猫要喝水...')
    # 2. 创建对象
    blue_cat = Cat()
    
    # 3. 通过对象调用类中的方法
    blue_cat.eat()
    blue_cat.drink()
    # 创建第二哥对象
    black_cat = Cat()
    black_cat.eat()
    black_cat.drink()
    
    1. self说明:从函数的语法上键self是形参,就可以是任意变量名,只不过,习惯性的将形参写作self。
    2. self是普通的形参,但是在调用的时候没有传递实参值,原因是python解释器在执行代码时自动将调用这个方法的对象传递给self,即self的本质时对象。
    3. 只需要确定通过哪个对象调用,对象的应用和self的应用是一样的

python文件操作

  1. 文件操作步骤(文本文件,二进制文件)

    1. 打开文件
    2. 读写文件
    3. 关闭文件
  2. open函数(打开文件)

    open(file,mode='r',encoding=None)
    # with open打开文件
    with open(file,mode,encoding='utf-8') as 变量:
        读取或写入文件
    
  3. wite()函数(写文件)

    文件对象.write('写入文件的内容')
    
  4. read()读文件

    # 打开文件
    f = open('a.txt','r',encoding='utf-8')
    # 读文件
    buf = f.read()
    buf2 = f.readline()
    # 关闭文件
    f.close()
    
  5. 示例

    json格式,示例数据

    [
      {
        "name": "小明",
        "age": 18,
        "isMen": true,
        "like": [
          "听歌",
          "游戏",
          "购物",
          "恋爱",
          "睡觉"
        ],
        "address": {
          "county": "中国",
          "city": "北京"
        }
      },
      {
        "name": "小红",
        "age": 17,
        "isMen": true,
        "like": [
          "听歌",
          "学习",
          "购物",
          "恋爱",
          "打豆豆",
          "睡觉"
        ],
        "address": {
          "county": "中国",
          "city": "北京"
        }
      }
    ]
    

    python读取上述json格式数据

    '''
    读取json格式数据
    '''
    import json
    with open('info.json', encoding='utf-8') as f:
        info_list = json.load(f)
        for info in info_list:
            print(info.get('name'),info.get('age'),info.get('address').get('city'));
    

    列表中套元组示例

    # 抓取的json格式数据
    [
      {
      "desc": "正确的用户名密码",
      "username": "example_username",
      "password": "example_password",
      "expect": "登录成功"
      },
      {
      "desc": "正确的用户名密码",
      "username": "example_username",
      "password": "example_password",
      "expect": "登录成功"
      },
       {
      "desc": "正确的用户名密码",
      "username": "example_username",
      "password": "example_password",
      "expect": "登录成功"
      }
    ]
    
    # 代码实现读取
    import json
    with open('info2.json',encoding = 'utf-8') as f:
        data = json.load(f)
        print(data)
        new_list = []
        for i in data:
            # print((i.get('username'), i.get('password'), i.get('expect')))
            new_list.append((i.get('username'), i.get('password'), i.get('expect')))
        print(new_list)
        
    # 结果展示
    [('example_username', 'example_password', '登录成功'), ('example_username', 'example_password', '登录成功'), ('example_username', 'example_password', '登录成功')]
    
    
文章来源:https://blog.csdn.net/weixin_52154534/article/details/135007390
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。