Python接口自动化测试框架:回顾Python3基础语法知识总览

简介: 本文是Python 3基础语法知识的全面总结,涵盖了标识符、数据类型、运算符、控制流程、函数、模块和文件操作、异常处理以及面向对象编程的各个方面,旨在为编写Python接口自动化测试框架提供必要的语法知识支持。

Python3基础语法

  • 先说标识符
  • 凡是在开发中自己取的名字,都是标识符;
例如:变量名、函数名、类名、模块名等
  • 命名规范
标识符由字母、数字、下划线组成,但不能以数字开头;
不能用python的关键字来命名标识符。
驼峰式命名:在定义类中使用大驼峰(每个单词首字母大写),
小驼峰或者使用下划线连接单词:常用于变量名或者方法(函数名)

一、数据类型

1、int : 整数
2、float:浮点数
3、bool:布尔类型
  • 只有True和False两个值
4、str : 字符串
  • 1、字符串的表示: 单引号、双引号、三引号
  • 2、字符串的下标取值和切片操作
  • 3、字符串转义
  • \t 、 \n 、 r
  • 4、字符串拼接
  • ‘’.join([a1,s2,s3]),
  • +加号支持拼接
  • 5、字符型格式化输出
  • format方法:{0}支持下标指定输出,{:.2f}保留两位小数{:.2%}两位小数的百分数
  • 传统方式%: %s字符串(接收任意类型),%d整型,%f浮点型
  • F这种形式很少用:F"{variable_name}"
  • 6、字符串的常用方法:
  • format:格式化输出
  • join:拼接参数为一个可迭代对象
  • find:查找元素下标位置
  • count:统计元素的个数
  • replace:替换字符
  • split:拆分成一个list类型的数据
  • upper:大写
  • lower:小写
5、list: 列表
  • 1、列表的表示方式(定义):中括号
  • 2、列表的下标取值和切片操作
  • 3、列表常用的方法
  • 增:append(末尾追加元素)、insert(指定索引位置插入元素)、extend(一次性追加多个元素,即list类型)
  • 删:pop(删除指定索引的元素)、remove(移除某个元素)、clear(清空列表)
  • 查:index(根据索引取值)、count(统计元素个数)
  • 改:通过下标修改值,li1[index]
  • 其他:copy、reverse、sort
6、tuple : 元组
  • 1、元组的表示方式(定义):小括号
  • 2、元组的下标取值和切片操作
  • 3、元组的方法:
  • count:统计元素个数
  • index:索引取值
7、dict:字典
  • 1、字典的表示:花括号 {},字典中每一个元素都是 由{key:value} 键值对组成。
  • 注意点:字典中的键必须是唯一的,键必须是不可变类型的(一般情况下都是用字符串),值可以是任意类型的数据(字典,元组、列表等等都可以)
  • 2、字典的增删查改
  • 添加元素
  • get(“key”)通过指定键去添加对应的值
dic = {"name":999}
  dic["name"] = "小明"
  print(dic["name"])
  print(dic.get("name"))
  • update方法:更新某个key,有则改无则增
dic = {"name":999}
  dic.update({"name1":"李四"})
  print(dic)
  • 修改元素:同上用法
  • 通过指定键去修改对应的值
  • 查找元素
  • 通过键去查找对应的值dic[“key”]
  • get:没有返回None,上面的方式则会报错
  • keys:获取字典的所有key,如果 “key” in dic这种表达式,dic则是keys
  • values: 获取字典的所有值
  • itmes: 获取字典所有的键值对,以一个元组为元素的列表返回
  • 删除元素
  • pop:删除指定key-value
  • popitem:删除末尾的一个k-v(只对3.5版本以上),反之则随机删除
8、set:集合
  • 1、集合的表示:花括号{}
  • 2、注意点:空集合使用 set()来定义
  • 3、特性一:集合中不可存在重复的元素
  • 利用集合来对列表去重
  • 4、特性二:集合中只能存放不可变类型的数据
  • 利用集合来区分可变还是不可变类型
9、其他知识
  • 数据是否可变分类:
  • 可变类型:列表、字典、集合
  • 不可变类型:数值(int,float,bool),字符串,元组
  • 序列
  • 随机数模块:random
  • random.random():生成0-1之间的浮点数。
  • random.randint( ):生成指定范围的整数。
  • range函数:range(n,m,k)
  • 推导式:list(range(4)),快速生成一个list

二、运算符

1、算术运算符
  • + - * / % // **
2、赋值运算符
  • = 、+= 、 -= 、 /=、 %= 、 **=、
3、比较运算符
  • == 、 != 、<= 、>= 、 < 、 >
4、逻辑运算符
  • and :一假为假
  • or :一真为真
  • not :取反
5、成员运算符
  • in
  • not in
6、身份运算符
  • is
  • is not
tips:is和==的区别
  • is身份运算符,判断两个变量的引用对象是否相同(id方法内存地址)
  • ==比较运算符,判断的是两个变量的值是否相等

二、控制流程

1、条件语句
  • if
  • if - else
  • if - elif
  • if - elif - else
2、while条件循环
  • 条件循环
  • break:跳出循环体,终止当前循环
  • continue:中止当前本轮循环,开启下一轮循环
  • else: while条件不成立的时候执行
3、for条件循环
  • break:跳出循环体,终止当前循环
  • continue:中止当前本轮循环,开启下一轮循环
  • else:遍历完所有的数据时执行

三、函数

1、函数的定义和调用
  • 1、函数定义的关键字:def
  • def 函数名():
  • 2、函数的命名规范:
  • 遵循标识符的命名规范
  • 推荐使用下划线命名法(单词小写,单词和单词直接使用下划线)
  • 3、函数的调用:函数名()
2、函数的参数
  • 1、形参:定义的参数
  • 必需参数:
  • 默认参数:
  • 不定长参数:
  • *agrs
  • **kwargs
  • 2、实参:调用时实际的传递的参数
  • 位置传参:
  • 关键字传参:
3、函数的返回值
  • return 返回的内容
4、函数的作用域
  • 1、局部变量
  • 2、全局变量
  • 3、global
5、内置函数
  • 1、基本内置函数
  • print : 输出
  • input :输入(输入的不管是什么类型数据,都会当成字符串处理)
  • type:查看数据类型
  • id : 获取数据内存地址
  • range : 生成数据
  • len : 获取数据的长度(元素总数)
  • int、float、bool 、 str、list、tuple 、dict 、set :代表对应的数据类型
  • min 求最小值
  • max 求最大值
  • sum 求和
  • 2、高级内置函数
  • enumerate:返回元素的坐标和值:用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,多实现在for循环中
list_1=['a','b','c'] 
for k,v in enumerate(list_1):
   print("序号为:{},元素值为:{}".format(k,v))
### 可以是enumerate返回的对象,可以list转换成元组为元素的列表,元组的组成就是序号和元素
  • eval:识别python中的表达式,去字符串标识
  • filter:过滤函数
  • zip:打包函数
  • lambda: 匿名函数
四、模块&文件
1、模块和包导入
  • 1、什么是模块:以 .py 结尾的文件,就是一个模块
  • 2、什么是包:python中的包就是一个包含一个__init__.py文件的目录(文件夹)
  • 3、模块导入
  • import 模块名
  • import 模块名 as 别名
  • from 模块名 import 函数(变量、类)
  • from 模块名 import *
  • 4、包导入
  • from 包名 import 模块名
  • from 包名.模块名 import 函数(变量、类)
2、文件操作
  • 1、打开文件:open(‘文件名’,‘r’,encoding=“uft8”)
  • 2、文件打开的模式:
  • r w a rb ab wb
  • 3、文件读取
  • read:读取所有内容
  • readdline:读取一行
  • readlines:读取所有行,可以指定读多少行
  • 4、文件写入 write
  • 5、文件关闭:close
  • 6、上下文管理器:with
with open(filename,'r',encoding='utf8) as f:
          pass
3、路径处理
  • 1、魔法变量:
  • __name__:
  • 如果不在启动文件中,代表的就是所在的文件(模块)的模块名
  • 如果当前文件值程序的启动文件中,它的值是 main
  • __file__: 代表当前文件的绝对路径
  • 2、os模块
  • os.path.dirname方法:获取当前文件的目录
  • os.path.join() 方法:拼接路径
  • 其他的方法:
方法 描述
os.getcwd() 显示当前的工作路径
os.chdir() 切换工作路径
os.mkdir() 在某个目录下创建一个新目录
os.rmdir() 删掉一个目录
os.listdir() 获取当前路径下的目录列表,返回列表格式数据
os.path.isdir() 判断当前文件是否是目录,返回布尔值
os.path.isfile() 判断当前文件是否是文件,返回布尔值

五、异常处理

1、异常分析
  • 如何通过异常找到错误代码
2、异常捕获
  • 1、异常捕获语句
  • try:
  • 有可能出现异常的代码
  • except :
  • 捕获到异常之后的处理方案 、
  • else:
  • 没有捕获到异常
  • finally:
  • 不管是否发生异常都会执行
  • 2、指定捕获多个异常

  • 3、捕获所有类型常见的异常

3、断言:assert

4、主动抛出异常:raise

六、面向对象

1、类的定义&创建对象
  • 1、类定义
  • 方式一:class 类名:
  • 方式二:class 类名(object):
  • 2、创建对象
  • obj = 类名()
2、属性
  • 1、类属性
  • 类属性的定义:直接定义在类里面的变量,类属性可以通过类去访问,也可以通过对象访问
  • 类的公有属性:不管在类里面还是类外面可以访问。
  • 类的私有属性:双下划线开头的,只能在类里面使用,在类外部是无法使用的
  • 2、实例属性
  • 实例属性的定义:对象.属性名 = 属性值
  • 实例属性只能通过对象去访问。
3、方法
  • 1、关于self的理解
  • self:代表的是对象本身,那个对象去调用方法,那么方法中的self代表的就是那个对象
  • 2、实例方法
  • 定义在类中的普通函数,第一个参数为self
  • 只能够通过对象调用
  • 3、类方法
  • 使用@classmethod装饰的方法叫类方法,类方法的第一个参数为cls
  • 调用:实例对象和类对象都可以调用。
  • 4、静态方法
  • 使用装饰器@staticmethod装饰的方法。没有“self”和“cls”参数,
  • 调用:实例对象和类对象都可以调用。
4、初始化方法__init__
  • 创建对象的时候,会自动调用,
  • 可以通过该方法初始化设置实例属性
5、继承
  • 如何继承?
  • 定义类时,类名后面的括号中写上继承的父类
  • 继承的作用
  • 子类通过继承可以获得父类的属性和方法,提高开发的效率及代码的复用率。
  • 注意点:
  • 私有属性不能够继承
6、方法重写和调用
  • 重写父类方法:
  • 在子类中定义和父类同名的方法,叫重写父类方法
  • 在子类中再调用父类中被重写的方法
  • 方式一:父类名.方法名(self)
  • 方式二:super().方法名()
7、属性动态设置
  • setattr:设置属性
  • 参数1:对象
  • 参数2:属性名
  • 参数3:属性值
  • getattr:获取属性
  • 参数1:对象
  • 参数2:属性名
  • delattr删除属性
  • 参数1:对象
  • 参数2:属性名
相关文章
|
1月前
|
API Python
【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名转换获得为uid-优雅草央千澈
【02】优雅草央央逆向技术篇之逆向接口协议篇-以小红书为例-python逆向小红书将用户名转换获得为uid-优雅草央千澈
94 1
|
2月前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
200 61
|
2天前
|
人工智能 自然语言处理 测试技术
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
30 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
|
8天前
|
API 文件存储 数据安全/隐私保护
python 群晖nas接口(一)
这段代码展示了如何通过群晖NAS的API获取认证信息(SID)并列出指定文件夹下的所有文件。首先,`get_sid()`函数通过用户名和密码登录NAS,获取会话ID(SID)。接着,`list_file(filePath, sid)`函数使用该SID访问FileStation API,列出给定路径`filePath`下的所有文件。注意需替换`yourip`、`username`和`password`为实际值。
49 18
|
1月前
|
机器学习/深度学习 运维 数据可视化
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
69 16
Python时间序列分析:使用TSFresh进行自动化特征提取
|
6天前
|
API Python
python泛微e9接口开发
通过POST请求向指定IP的API注册设备以获取`secrit`和`spk`。请求需包含`appid`、`loginid`、`pwd`等头信息。响应中包含状态码、消息及`secrit`(注意拼写)、`secret`和`spk`字段。示例代码使用`curl`命令发送请求,成功后返回相关信息。
29 5
|
6天前
|
API 文件存储 Python
python 群晖nas接口(二)
这段代码展示了如何通过API将文件上传到群晖NAS。它使用`requests`库发送POST请求,指定文件路径、创建父级目录及覆盖同名文件的参数,并打印上传结果。确保替换`yourip`和`sid`为实际值。
25 2
|
1月前
|
人工智能 运维 Prometheus
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
AIOpsLab 是微软等机构推出的开源框架,支持云服务自动化运维,涵盖故障检测、根本原因分析等完整生命周期。
138 13
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
|
1月前
|
人工智能 编解码 自然语言处理
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
AGUVIS 是香港大学与 Salesforce 联合推出的纯视觉 GUI 自动化框架,能够在多种平台上实现自主 GUI 交互,结合显式规划和推理,提升复杂数字环境中的导航和交互能力。
101 8
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
|
24天前
|
小程序 前端开发 关系型数据库
uniapp跨平台框架,陪玩系统并发性能测试,小程序源码搭建开发解析
多功能一体游戏陪练、语音陪玩系统的开发涉及前期准备、技术选型、系统设计与开发及测试优化。首先,通过目标用户分析和竞品分析明确功能需求,如注册登录、预约匹配、实时语音等。技术选型上,前端采用Uni-app支持多端开发,后端选用PHP框架确保稳定性能,数据库使用MySQL保证数据一致性。系统设计阶段注重UI/UX设计和前后端开发,集成WebSocket实现语音聊天。最后,通过功能、性能和用户体验测试,确保系统的稳定性和用户满意度。