学通python
学通python
(一. 涉及知识点)
- python基础(认识python,环境,pycharm,注释,变量,变量类型,输入输出,运算发)
- 流程控制结构(判断语句,循环)
- 数据序列(字符串,列表,元组,字典)
- 函数(函数基础,变量进阶,函数进阶,匿名函数)
- 面向对象(面向对象编程介绍,类和对象,基础语法,封装继承多态,类属性和类方法)
- 异常,模块(异常,模块和包,文件操作[读写文件,读写测试数据,自动化生成测试报告])
- UnitTest框架【单元测试的框架,也可用于管理测试用例】(UnitTest基本使用,Unitest断言,参数化,生成html测试报告)
(二. 获得的能力)
-
搭建python环境。
-
掌握python基本语法。
-
建立编程思维,具备基础的编程能力。
-
建立编程思维以及面向对象程序设计思想。
-
掌握如何通过UnitTest编写测试脚本,并生成HTML测试报告。
(三. 各种自动化测试框架)
python + selenium web(ui)自动化,功能测试转化为代码
python + appium 移动端(手机的APP)自动化
python + requests 接口自动化测试
(四. 内容python基础了解)
-
python应用领域(1989年写1991年发布,荷兰 吉多.范罗苏姆)
-
运维
-
web全栈
-
测试人员
-
应用领域
- 自动化测试
- 网络爬虫
- web开发(写网站)
- 自动化运维(维护优化网站)
- 数据分析
- 人工智能
- 机器学习
-
-
运行原理(直接在cmd中运行,命令:
python 代码文件名
) -
pytho解释器
-
pycharm安装
-
pycharm中编写python代码并运行
-
注释
-
单行 #
-
多行 “”“xxxx"“”,‘’‘xxxx’‘’
-
pygthon中的三种波浪线和PEP8
- 红色:代码错误,必须处理,才能运行。
- 灰色:PEP8的python书写规范提示。
- 绿色:不影响正常执行,认为内容不是一个单词。
-
-
变量
- 作用:用来存储数据
- 定义变量:变量名=变量值,name = “张三”
# 变量 name = "张三" print('name:', name) age = 17 height = 189.0 # 小数默认显示6位 print('名字是%s , 年龄是%d , 身高是%.2f cm' % (name, age, height))
-
数据类型(查看数据类型:
type()
)-
数字类型
-
整型
int
-
浮点型
float
-
布尔型
bool
-
-
非数字类型
-
字符串
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)
-
-
-
运算符
(四,python基础理论一)
-
字符串格式化补充
-
zhioo
-
l
-
字符串.format()
str2 = '明天会更好' # 字符串格式化,在需要使用变量的地方使用大括号 print('我的{}的'.format(str2)) print('{}明天会更好{}'.format('我的', '的'))
-
-
运算符
- 算数
- 幂运算**
- /求商(结果是小数) * // %求余
- — + * /。
- 比较
- < > = != >= <=
- 逻辑
- and
- or
- not
- 赋值运算符
- =
- 复合赋值运算
- 算数
-
判断语句(
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流程
-
循环语句的基础
while
# while 判断条件: while 判断条件: 需要重复执行的代码 修改计数器 # 需要重复执行的代码,break终止循环 while true: 需要重复执行的代码 if xxx: break;
-
案例:猜拳游戏
''' 猜拳游戏: 剪刀 赢 布 石头 赢 剪刀 布 赢 石头 步骤: 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基础理论二)
-
可变数据类型和不可变数据类型
int float bool str list:可变 tuple dict:可变 set:输出时去除重复,可变 basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
-
类和对象
''' 小猫爱吃鱼案例 需求:小猫要吃鱼,小猫要喝水,定义不带属性的类 类名:猫类,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()
- self说明:从函数的语法上键self是形参,就可以是任意变量名,只不过,习惯性的将形参写作self。
- self是普通的形参,但是在调用的时候没有传递实参值,原因是python解释器在执行代码时自动将调用这个方法的对象传递给self,即self的本质时对象。
- 只需要确定通过哪个对象调用,对象的应用和self的应用是一样的
python文件操作
-
文件操作步骤(文本文件,二进制文件)
- 打开文件
- 读写文件
- 关闭文件
-
open函数(打开文件)
open(file,mode='r',encoding=None) # with open打开文件 with open(file,mode,encoding='utf-8') as 变量: 读取或写入文件
-
wite()函数(写文件)
文件对象.write('写入文件的内容')
-
read()读文件
# 打开文件 f = open('a.txt','r',encoding='utf-8') # 读文件 buf = f.read() buf2 = f.readline() # 关闭文件 f.close()
-
示例
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', '登录成功')]
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!