学通python

2023-12-15 13:28
文章标签 python 学通

本文主要是介绍学通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', '登录成功')]

这篇关于学通python的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/496594

相关文章

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

python uv包管理小结

《pythonuv包管理小结》uv是一个高性能的Python包管理工具,它不仅能够高效地处理包管理和依赖解析,还提供了对Python版本管理的支持,本文主要介绍了pythonuv包管理小结,具有一... 目录安装 uv使用 uv 管理 python 版本安装指定版本的 Python查看已安装的 Python