比培训机构还详细的 Python 学习路线,你信吗 0^0

2021年9月12日 4点热度 0条评论 来源: 小菠萝测试笔记

前言

  • 这其实是将自己写的文章进行一个总结分类,并不代表最佳学习路线
  • 会不断更新这篇文章...没链接的文章正在编写ing...会不会哪天我的这个目录就出现在培训机构的目录上了...
  • 目前实战比较少(要是有多点实战,我就开培训了哈哈哈)

 

Python

基础

Python - 头部解析

Python - 导入的位置

Python - 执行顺序、执行入口

Python - 变量

Python - 变量的作用域 

Python - 常用内置变量

Python - 算术运算符

Python - //和/的区别

Python - 赋值运算符

 

数据类型相关

Python - 基础数据类型 Number 数字、bool 布尔、complex 复数

Python - 基础数据类型 str 字符串

Python - 字符串常用函数详解

Python - 字符串格式化详解(%、format)

Python - r'', b'', u'', f'' 的含义

Python - bytes与字符串的相互转化

Python - 判断一个字符串是否包含某个指定的字符串

Python - 字符串 encode

Python - 基础数据类型 list 列表

Python - 如何将 list 列表作为数据结构使用

Python - list 列表常见方法

Python - 基础数据类型 tuple 元组

Python - 可变和不可变对象 

Python - 基础数据类型 dict 字典

Python - dict 字典的多种遍历方式

Python - dict 字典常见方法

Python - 基础数据类型 set 集合

Python - 对象赋值、浅拷贝、深拷贝的区别

Python - 浅拷贝的四种实现方式

 

循环相关

Python - 详解 range()

Python - for 循环

Python - if 条件控制

Python - while 循环

Python - break、continue 的使用 

 

函数相关

Python - 函数

Python - 函数形参之必填参数、默认参数、可变参数、关键字参数的详细使用

Python - 基本数据处理函数round()、int()、floor()、ceil()

Python - 解包的各种骚操作

Python - 3.8 新特性之仅位置参数 & 仅关键字参数

Python - 函数实战

Python - lambda 表达式

Python - repr()、str() 的区别

Python - eval()

Python - bytes()

 

面向对象编程

Python - 面向对象编程 - 什么是 Python 类、类对象、实例对象Python - 面向对象编程 - 什么是对象和类

Python - 面向对象编程 - __init__() 构造方法

Python - 面向对象编程 - __del__() 析构方法

Python - 面向对象编程 - self 参数

Python - 面向对象编程 - 小实战(1)

Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性 

Python - 面向对象编程 - 实例方法、静态方法、类方法

Python - 面向对象编程 - __str__() 

Python - 面向对象编程 - __repr__()

Python - 面向对象编程 - 公共属性、保护属性、私有属性

Python - 面向对象编程 - 小实战(2)

Python - 面向对象编程 - 小实战(3)

Python - 面向对象编程 - 三大特性之封装

Python - 面向对象编程 - @property

Python - 面向对象编程 - 实战(4)

Python - 面向对象编程 - 三大特性之继承

Python - 面向对象编程 - 子类方法的重写

Python - 面向对象编程 - 新式类和旧式类

Python - 面向对象编程 - 多继承

Python - 面向对象编程 - super()

Python - 面向对象编程 - 使用 super() 的一些注意事项

Python - 面向对象编程 - MRO 方法搜索顺序

Python - 面向对象编程 - 三大特性之多态

Python - 面向对象编程 - 实战(5) 

Python - 面向对象编程 - __call__()

Python - 面向对象编程 - __new__() 和单例模式 

Python - 面向对象编程 - 魔术方法(双下划线方法)

Python - 面向对象编程 - 实战(6)

Python - 模块与包

Python - 错误和异常

 

文件相关

Python - with open()、os.open()、open()的详细使用

Python - 文件读取read()、readline()、readlines()区别

Python - os.walk()详细使用

Python - 文件模式a+读取不了文件

Python - 批量修改文件名

 

高级点的

Python - 多线程、多进程

Python 高级特性(1)- 切片

Python 高级特性(2)- 可迭代对象 iterable

Python 高级特性(3)- 列表生成式

Python 高级特性(4)- 生成器 generator

Python 高级特性(5)- 迭代器 Iterator

 

typing、类型提示

Python -类型提示 Type Hints

Python - typing 模块 —— 常用类型提示

Python - typing 模块 —— 类型别名

Python - typing 模块 —— NewType

Python - typing 模块 —— Callable

Python - typing 模块 —— Any Type

Python - typing 模块 —— TypeVar 泛型

Python - typing 模块 —— Union

Python - typing 模块 —— Optional

 

Pydantic

Python - pydantic 入门介绍与 Models 的简单使用

 

新奇的 Python 库

Python - random 库的详细使用

Python - logging 日志库

Python - 超好用的第三方库pathlib,快速获取项目中各种路径

Python - loguru日志库,高效输出控制台日志和日志记录

Python - 通过PyYaml库操作YAML文件

Python - 常⽤的操作 excel 第三方库

Python - os库

Python - 执行cmd命令

Python - 进度条库 tqdm

 

常见问题解决方案

Python常见问题 - 使用openpyxl模块时出现错误: zipfile.BadZipFile: File is not a zip file

Python常见问题 - 写入数据到 excel 报 ValueError: invalid literal for int() with base 10 错误

 

做项目可能会用到的

Python - 生成 requirement.txt 文件

Python - pip 常用命令

Python - pipupgrade 库

Python - pip-review 库

Python - pip 批量更新

 

数据库相关

Python - 操作 MySQL 数据库

 

新人写的不着调工具类

仅做记录,不值得参考

Python工具类(一)—— 操作Mysql数据库

Python工具类(二)—— 操作时间相关

 

很low的基础习题集

Python习题集(一)

Python习题集(二) 

Python习题集(三) 

Python习题集(四)

Python习题集(五)

Python习题集(六) 

Python习题集(七)

Python习题集(八)

Python习题集(九)

Python习题集(十)

Python习题集(十一)

Python习题集(十二)

Python习题集(十三)

Python习题集(十四)

Python习题集(十五)

Python习题集(十六)

 

接口自动化

python接口自动化测试 - configparser配置文件解析器详细使用 

python接口自动化测试 - openpyxl封装类

python接口自动化测试 - openpyxl基本使用

python接口自动化测试 - unittest框架基本使用

python接口自动化测试 - unittest框架suite、runner详细使用

python接口自动化测试 - mock模块基本使用介绍

python接口自动化测试 - requests库的post请求进行文件下载

python接口自动化测试 - requests库的post请求进行文件上传

python接口自动化测试 - requests库的基础使用

python接口自动化测试 - 数据驱动DDT模块的简单使用

 

常见问题解决方案

Python常见问题 - python3 requests库提示警告InsecureRequestWarning的问题

Python常见问题 - python3 使用requests发送HTTPS请求报certificate verify failed 错误

Python常见问题 - requests请求参数包含中文报错:UnicodeEncodeError: 'latin-1' codec can't encode characters in position 13-14:  is not valid Latin-1. Use body.encode('utf-8')

 

Pytest+Allure

Pytest系列(1) - 快速入门和基础讲解

Pytest系列(2) - assert断言详细使用

Pytest系列(3) - setup和teardown的详细使用

Pytest系列(4) - fixture的详细使用 

Pytest系列(5) - 测试用例执行后的几种状态

Pytest系列(6) - conftest.py的详细讲解

Pytest系列(7) - skip、skipif跳过用例

Pytest系列(8) - 使用自定义标记mark

Pytest系列(9) - 参数化@pytest.mark.parametrize

Pytest系列(10) - fixture 传参数 request的详细使用

Pytest系列(11)- 失败重跑插件pytest-rerunfailures的详细使用

Pytest系列(12)- 测试结果生成HTML报告插件之pytest-html的详细使用

Pytest系列(13)- 重复执行用例插件之pytest-repeat的详细使用

Pytest系列(14)- 配置文件pytest.ini的详细使用

Pytest系列(15)- 多重校验插件之pytest-assume的详细使用

Pytest系列(16)- 分布式测试插件之pytest-xdist的详细使用

Pytest系列(17)- pytest-xdist分布式测试的原理和流程

Pytest系列(18)- 超美测试报告插件之allure-pytest的基础使用

Pytest系列(19)- 我们需要掌握的allure特性

Pytest系列(20)- allure的特性,@allure.step()、allure.attach的详细使用

Pytest系列(21)- allure的特性,@allure.description()、@allure.title()的详细使用

Pytest系列(22)- allure的特性,@allure.link()、@allure.issue()、@allure.testcase()的详细使用

Pytest系列(23)- allure 打标记之 @allure.epic()、@allure.feature()、@allure.story() 的详细使用

Pytest系列(24)- allure 环境准备

Pytest系列(25)- @allure.severity 标记用例级别

Pytest系列(26)- 清空 allure 历史报告记录

Pytest系列(27)- allure 命令行参数

Pytest系列(28)- 参数化 parametrize + @allure.title() 动态生成标题

Pytest系列(29)- 详解 allure.dynamic 动态生成功能

Pytest 面试宝典

 

实战小项目

Docker + Jenkins + Gitlab + Pytest + Allure 接口自动化测试之持续集成实战终极教程

 

UI 自动化

Selenium系列(二) - 详细解读针对浏览器的操作Selenium系列(一) - 详细解读8种元素定位方式

Selenium系列(三) - 详细解读针对元素常见的简单操作

Selenium系列(四) - 详细解读鼠标操作

Selenium系列(五) - 详细解读键盘操作

Selenium系列(六) - 详细解读强制等待、隐式等待、显式等待的区别和源码解读

Selenium系列(七) - 切换iframe 

Selenium系列(八) - 截取完整页面和截取指定元素并保存为图片

Selenium系列(九) - 针对alert窗口的处理(警告框、确认框、对话框)和源码解读

Selenium系列(十) - 针对Select下拉框的操作和源码解读

Selenium系列(十一) - 针对两种上传文件方式的实现方案

Selenium系列(十二) - 自动化必备知识之CSS选择器的详细使用

Selenium系列(十三) - 自动化必备知识之Xpath的详细使用

Selenium系列(十四) - Web UI 自动化基础实战(1) 

Selenium系列(十五) - Web UI 自动化基础实战(2)

Selenium系列(十六) - Web UI 自动化基础实战(3)

Selenium系列(十七) - Web UI 自动化基础实战(4)

Selenium系列(十八) - Web UI 自动化基础实战(5)

Selenium系列(十九) - Web UI 自动化基础实战(6)

Selenium系列(二十) - PageObject模式的详细介绍

Selenium系列(21) - Cookie操作和源码解读

Selenium系列(22) - 通过selenium控制浏览器滚动条的几种方式

Selenium常见报错问题(1)- 先来认识下selenium常见异常类

Selenium常见报错问题(2)- 解决和分析StaleElementReferenceException异常

Selenium常见报错问题(3)- 解决和分析NoSuchElementException

Selenium 面试宝典

 

APP 自动化

Appium自动化(1) - 环境准备详细教程

Appium自动化(2) - appium环境安装常见问题的解决方案

Appium自动化(3) - adb无线连接手机的方法

Appium自动化(4) - Appium Desired Capabilities 参数详解

Appium自动化(5) - 如何获取android app 的Activity 和 Package

Appium自动化(6) - 控件定位工具之uiautomatorviewer 的详细介绍

Appium自动化(7) - 控件定位工具之Appium 的 Inspector

Appium自动化(8) - 可定位的控件属性

Appium自动化(9) - appium元素定位的快速入门

Appium自动化(10) - appium高级元素定位方式之 UI Automator API 的详解

Appium自动化(11) - 详解 Applications 类里的方法和源码解析

Appium自动化(12) - 详解 HardwareActions 类里的方法和源码分析

Appium自动化(13) - 详解 Keyboard 类里的方法和源码分析

Appium自动化(14) - 详解 ActionHelpers 类里的方法和源码分析

Appium自动化(15) - 针对 webview 进行自动化测试

Appium自动化(16) - 使用手机浏览器进行自动化测试

 

 

常见问题解决方案

Appium问题解决方案(1)- 设置unicodeKeyboard: True运行脚本后,手机输入时无法调出软键盘 

Appium问题解决方案(3)- java.lang.IllegalStateException: UiAutomation not connected! 

Appium问题解决方案(2)- AttributeError:module 'appium.webdriver' has no attribute 'Remote'

Appium问题解决方案(4)- Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException

Appium问题解决方案(5)- selenium.common.exceptions.InvalidSelectorException: Message: Locator Strategy 'name' is not supported for this session

Appium问题解决方案(6)- Java堆栈错误:java.lag.ClassNotFoundException:org.eclipse.swt.widets.Control

Appium问题解决方案(7)- Could not find 'adb.exe' in PATH. Please set the ANDROID_HOME environment variable with the Android SDK root directory path

Appium问题解决方案(8)- selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not sign with default certificate.

Appium问题解决方案(9)- Original error: Failed to launch Appium Settings app: Condition unmet after 5090 ms

Appium问题解决方案(10)- Original error: Swipe did not complete successfully 

 

RobotFramework

Robot Framework(1)- 入门介绍

Robot Framework(2)- 快速安装

Robot Framework(3)- 基本概念

Robot Framework(4)- 测试套件的基本使用

Robot Framework(5)- 使用测试库

Robot Framework(6)- BuiltIn 测试库常用的关键字列表

Robot Framework(7)- DateTime 测试库常用的关键字列表

Robot Framework(8)- Collections 测试库常用的关键字列表

Robot Framework(9)- 使用变量文件

Robot Framework(10)- 使用资源文件

Robot Framework(11)- 用户关键字的详解

Robot Framework(12)- 详细解读 RF 的变量和常量

Robot Framework(13)- RF 循环的详细使用

Robot Framework(14)- Variables 表的详细使用和具体例子

Robot Framework(15)- 扩展关键字

Robot Framework 面试题

 

Flask

Flask(1)- 简介

Flask(2)- 第一个 Flask Application

Flask(3)- Flask 中的 HTTP 方法

Flask(4)- URL 组成部分详解

Flask(5)- 动态路由

Flask(6)- debug 模式

Flask(7)- request 对象

Flask(8)- jinja2 模板入门

Flask(9)- 蓝图的基本使用

Flask(10)- 标准类视图

Flask(11)- 操作 Cookie

Flask(12)- 操作 Session

 

常见问题解决方案

Flask - 解决 app.run() 添加 host、port、debug 参数后运行不生效的问题 

Flask - 访问返回字典的接口报错:The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a dict.

 

FastAPI

FastAPI(1)- 简单介绍

 

    原文作者:小菠萝测试笔记
    原文地址: https://www.cnblogs.com/poloyy/p/15255670.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。