学通python

学通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 randomplayer = 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', '登录成功')]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为面试题,连续出了三年!

写在前面 据说&#xff0c;这是一道被华为 2021、2022 和 2023 都出过的题目 &#x1f923; 华为是「卷」的发明者&#xff0c;但不是「内卷」发明者&#xff0c;毕竟只有华为是实打实的给加班费。 这么卷的公司&#xff0c;怎么也不更新一下题库。 难道没人做出来就不用考虑换…

2023-12-17 AIGC-AnimateDiff详细安装和使用教程

AnimateDiff专用模型下载 AnimateDiff有其自身专门的运动模型mm_sd_v15_v2.ckpt 和 专属的镜头运动lora,需要放置在对应的位置。 stablediffusion位置: 运动模型放在stable-diffusion-webui\extensions\sd-webui-animatediff\model里面 运动lora放在stable-diffusion-web…

Spring源码学习三

手写Starter 我们通过手写Starter来加深对于自动装配的理解 1.创建一个Maven项目&#xff0c;quick-starter 定义相关的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><versio…

通过conda search cuda找不到想要的信息,更换channel

目录 1. 通过conda search cuda找不到想要的信息&#xff0c;更换channel2. 不添加channel&#xff0c;直接conda search cudnn -i https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/报错了3. 推荐几个channel4. 想通过conda search应用这些channel&#xff0c;请给出…

etcd是什么

目录 1.关于etcd2.应用场景 本文主要介绍etcd 概念和基本应用场景。 1.关于etcd etcd是一个开源的、分布式的键值存储系统&#xff0c;用于共享配置和服务发现。它是由CoreOS团队开发的&#xff0c;主要用于实现分布式系统的配置管理和服务发现。 etcd的主要特性包括&#x…

Quartus 18.1软件及支持包安装教程

安装前最好关闭电脑的杀毒软件和防火墙 安装包可以到Quartus官网下载需要的版本&#xff0c;注意选择操作系统 Quartus官网&#xff1a;FPGA 设计软件 - 英特尔 Quartus Prime (intel.cn) 下载解压后以管理员的身份运行 QuartusSetup-18.1.0.625.exe文件&#xff0c;版本不同…

中国剩余定理CRT

文章目录 作用证明AcWing 204. 表达整数的奇怪方式CODE 作用 用于求模数两两互质的线性同余方程组&#xff0c;若不互质则不存在解。 《孙子算经》中有这样一个问题&#xff1a;“今有物不知其数&#xff0c;三三数之剩二&#xff0c;五五数之剩三&#xff0c;七七数之剩二&am…

【漏洞复现】CVE-2023-6848 kodbox远程命令执行

漏洞描述 kodbox 是一个网络文件管理器。它也是一个网页代码编辑器,允许您直接在网页浏览器中开发网站。您可以在基于 Linux、Windows 或 Mac 的平台上在线或本地运行 kodbox。唯一的要求是要有 PHP 5及以上。 kalcaddle kodbox 中发现漏洞,最高版本为 1.48。它已被宣布为关…

Flink系列之:Over聚合

Flink系列之&#xff1a;Over聚合 一、Over聚合二、ORDER BY三、PARTITION BY四、范围&#xff08;RANGE&#xff09;定义五、RANGE 间隔六、ROW 间隔 适用于流、批 一、Over聚合 OVER 聚合通过排序后的范围数据为每行输入计算出聚合值。和 GROUP BY 聚合不同&#xff0c; OV…

log4j2配置文件log4j2.xml详解

1、缺省默认配置文件 <?xml version"1.0" encoding"UTF-8"?><Configuration status"WARN"><Appenders><Console name"Console" target"SYSTEM_OUT"><PatternLayout pattern"%d{HH:mm:ss…

Android Studio Gradle构建很慢,下载依赖缓慢问题

在项目的 build.gradle或setting.gradle&#xff08;Android Studio新老版本配置不同&#xff09;中配置镜像源 阿里云&#xff1a; maven { url https://maven.aliyun.com/repository/gradle-plugin } maven { url https://maven.aliyun.com/repository/spring-plugin } mav…

【Java】SpringBoot中实现Redis Stream队列

SpringBoot实现Redis Stream队列 前言 简单实现一下在SpringBoot中操作Redis Stream队列的方式&#xff0c;监听队列中的消息进行消费。 jdk&#xff1a;1.8 springboot-version&#xff1a;2.6.3 redis&#xff1a;5.0.1&#xff08;5版本以上才有Stream队列&#xff09;…

C++实现简单的猜数字小游戏

猜数字 小游戏介绍&#xff1a;猜数字游戏是令游戏机随机产生一个100以内的正整数&#xff0c;用户输入一个数对其进行猜测&#xff0c;需要你编写程序自动对其与随机产生的被猜数进行比较&#xff0c;并提示大了&#xff0c;还是小了&#xff0c;相等表示猜到了。如果猜到&…

网络(九)三层路由、DHCP以及VRRP协议介绍

目录 一、三层路由 1. 定义 2. 交换原理 3. 操作演示 3.1 图示 3.2 LSW1新建vlan10、20、30&#xff0c;分别对应123接口均为access类型&#xff0c;接口4为trunkl类型&#xff0c;允许所有vlan通过 3.3 LSW2新建vlan10、20、30&#xff0c;配置接口1为trunk类型&…

创维电视机 | 用当贝播放器解决创维电视机不能播放MKV视频的问题

小故事在下面&#xff0c;感兴趣可以看看&#xff0c;开头我就直接放解决方案 创维电视虽然是基于Android开发的&#xff0c;可以安装apk软件&#xff0c;但是基本不能用&#xff0c;一定要选择适配电视的视频播放器&#xff0c;或者使用本文中提供的创维版当贝播放器。 原软…

Java常见异常名称

java.lang.NullPointerException 空指针异常 java.lang.ClassNotFoundException 指定的类不存在 java.lang.NumberFormatException 字符串转换为数字异常 java.lang.IndexOutOfBoundsException 数组下标越界异常 java.lang.IllegalArgumentExcepti…

报数游戏C语言

分析:掌握数字移动的规律&#xff0c;以及判断&#xff0c;我们可以用一个二维数组来记录每一个人说的数字&#xff0c;就像第一张图片一样&#xff0c;西安向右边移动&#xff0c;再向左下移动&#xff0c;再向左边移动&#xff0c;在向右边移动&#xff0c;在可以用一个数组来…

策略模式学习

使用场景 一个方法有很多的实现方式&#xff0c;并且需要使用if else等分支逻辑选择使用哪种实现方式 术语 环境 维护策略对象的引用&#xff0c;负责将请求委派给具体的策略对象执行。环境类可以通过依赖注入、简单工厂等方式获取具体策略对象 抽象策略 定义了策略类的公…

什么是Laravel?它有哪些特性?

Laravel 是一款流行的 PHP Web 框架&#xff0c;设计用于构建现代、优雅且功能强大的 Web 应用程序。它提供了一套丰富的工具和库&#xff0c;以简化常见的开发任务&#xff0c;同时保持灵活性和可扩展性。以下是 Laravel 框架的一些主要特性&#xff1a; 优雅的语法&#xff1…

C#学习相关系列之自定义遍历器

在C#中&#xff0c;自定义遍历器需要实现IEnumerable接口和IEnumerator接口。其中&#xff0c;IEnumerable接口包含一个GetEnumerator方法&#xff0c;该方法返回一个IEnumerator接口的实例&#xff0c;而IEnumerator接口包含Current、MoveNext和Reset方法。 IEnumerable&#…