python入门以及接口自动化实践

一、Python入门必备基础语法
# 标识符:python中我们自己命名的都是标识符
# 项目名 包名 模块名
# 变量名 函数名 类名
# 1:字母 下划线 数字组成 命名的时候不能以数字开头
# 2:见名知意:不同的字母和数字之间用下划线隔开
# 3:项目名 包名 模块名 变量名 函数名 都是小写字母,不同的字母之间用下划线隔开
# 4:类名 首字母大写驼峰命名 StudentInfo HttpRequest
# 5:不能以关键字作为标识符 int str float class def...

# 行和缩进:利用缩进来控制代码的级别

# 注释:#表示单行注释 快捷键 ctrl+/ ‘‘‘ ‘‘‘成对的三个单引号括起来的内容就是多行注释

# 多行语句 连接符
print(‘hello\
python\
666‘)

#python的引号 单引号 双引号 多引号
#成对的单引号 成对的双引号 三引号括起来的内容都是字符串
a=‘666‘
b="666"
c=‘‘‘666‘‘‘
# type()可以帮助判断数据的类型

# 转义:把一些特殊字符变成普通字符
str_1=‘hello,\‘python\‘‘
print("这是第一行\n这是第二行")
print("这是第一行\\n这是第二行")
print(r"这是第一行\n这是第二行")
print(R"这是第一行\n这是第二行")

#python文件的输入输出
# input()从控制台获取一个数据,数据类型是字符串str
# print()

二、python变量以及常用数字类型
# 变量
# 一旦创建了一个变量,然后赋值,就会存储在python内存里
# 如果要引用一个变量,那么在引用之前,要确定是否已经定义并赋值
# 变量命名规范:字母 下划线 数字组成 命名的时候不能以数字开头,都是小写字母

# python常见的数据类型
# 数字 字符串 元组 列表 字典
# 数字:整数 浮点数

# python里面常用的数字的数据:int float 关键词
# type()可以帮助判断数据的类型

# 格式化输出

三、Python字符串的取值&运算
a=‘python‘
# python常用数据类型之一 字符串
# 成对的双引号 或者成对的单引号括起来的内容就是字符串

# 字符串的取值访问

print(a)
print(a[3])

# 字符串:字符串里的元素是由一个个的字符组成
# 字符串都是有索引 从0开始数的
# 字符串的取值方式 字符串名[索引值]
print(a[4])

# 反序访问:从-1开始
print(a[5])
print(a[-1])

# 怎么处理字符串里的特殊字符 转义\ 加r/R
# \n \t \r
a=‘python\\tpython‘
print(a)

# 字符串的运算:+ *
# + 拼接字符串

# * 重复字符串输出

# 判断字符串in not in 成员运算符 返回布尔值True False
a=‘hello‘
print(‘t‘ in a)

#如果不同类型的数据拼接
a=666
b=‘hello‘
print(str(a)+b)

四、Python字符串的切片运用
# 字符串的切片
# 根据字符串的索引去取值,缺点:只能取单个值
# 切片:可以根据你的要求去取值 子字符串
# 字符串的切片:字符串名[m:n:k]
# m索引开始的地方 n索引结束的地方 k步长
a=‘python‘
res=a[0:6:1]
print(res)
#k=1 0 1 2 3 4 5取左不取右 n-1就结束了索引的取值
res=a[0:6:2]
print(res)#k=2 0 2 4
res=a[0:6]#如果不输入k,那么k就取默认值k=1 0 1 2 3 4 5
print(res)
res=a[:]#从头取到尾
print(res)
res=a[1:]#默认取完所有的值
print(res)

# 什么时候用切片
# 只想取个值 根据索引来取值
# 如果想获取字符串里的子字符串,就可以用切片

五、Python字符串的取值&运算
# 格式化输出%d整数 %f浮点数 %s字符串
age=18
name=‘python‘
score=99.99
# print(name+",今年"+str(age)+‘岁‘)
# print(name+",今年",age,‘岁‘)

print("%s今年%d岁,数学考了%.2f"%(name,age,score))#按顺序取值
# %d必须放一个整数,%f可以放一个整数也可以放一个浮点数,%s可以放任意值

# 第二种格式化输出 format{}
print("{0}今年数学考了{1}".format(name,score))
# {}里面不指定数值,就会按顺序取值
#{}里面指定数值,就会根据你设置的去取值
#format里面的数据也是有索引的,从0开始标记数据

六、Python字符串的内建函数使用
str_1=‘hello‘
str_2=‘python‘
# 1、字符串的大小写切换 upper() lower()
res=str_2.lower()
print(‘转换后的结果:{}‘.format(res))

# 2、字符串的查找 find()函数
# 单个字符 如果能够找到 就返回单个字符在字符串里的索引值
# 子字符串 如果能够找到 就返回子字符串的第一个元素在原来字符串里面的索引值
# 没找到 返回-1
res=str_1.find(‘h‘)
print(‘查找的结果:{}‘.format(res))

# 3、字符串的替换 replace()函数 内建函数可以指定替换次数
res=str_1.replace(‘l‘,‘@‘,1)
print(res)
print(str_1)

# 4、字符串的切割split()
res=str_1.split(‘l‘)
print(res)#返回列表类型的数据,但是元素类型还是字符串

str_3=‘@@@[email protected]@@‘
# 5、字符串头尾的处理 strip()
res=str_3.strip(‘@‘)
print(res)

七、Python之元组的学习和使用
# 数据类型 元组
#1. 元组的标志() 关键字tuple
#2. 元组只有一个数据的时候,请加逗号在数据后面,不然就不是元组类型的数据
#3. 元组里面的数据可以是任何类型 数字 字符串 元组 列表 字典
#4. 元组取值 是根据索引取值,也分为正序和反序(操作同字符串) 元组名[索引值]
#5. 元组切片
#6. 元组的值一旦确定 就无法再更改!删除新增修改都不允许
#7. 判断元素 in not in

tuple_1=()#空元组
tuple_2=(1,)
tuple_3=(1,0.02,‘lemon‘,(1,2,3))

# type()
print(type(tuple_1))
print(type(tuple_2))

八、Python之列表的基础使用
# 数据类型:列表 在python里面是属于使用率最高的数据类型
# 1.标志 [] 关键字list
# 2.a=[]空列表
# 3.里面数据元素可以是任何类型
# 4.列表的取值 也是根据索引来取值 列表名[索引值] 正序反序
# 5.列表的切片 操作同字符串 列表名[m:n:k]
# 6.判断元素 in not in 成员运算符

a=[1,0.05,‘python‘,(1,2,3),[4,5,6]]
print(type(a))
print(a[2])
print(a[0::2])
print(0.05 in a)
print(a[-1][-1])

九、python之列表常用函数
# 列表支持增加删除修改 切片 索引

a=[1,0.05,‘python‘,(1,2,3),[4,5,6]]

# 1.新增操作
# 1)列表名.append() 加元素到列表的最后面 每次只能添加一个元素

# a.append(‘study‘)
# print(a)

# 2)列表名.insert() 加元素到列表的指定位置
# a.insert(0,‘studying‘)
# print(a)

# 2.修改列表的元素值
# a[-1]=‘热爱学习的我‘
# print(a)

# 3.删除元素
# 1)列表名.pop() 删除列表的最后面一个元素
# a.pop()
# print(a)
# 2)列表名.pop(index) 删除列表指定位置的元素
a.pop(2)
print(a)

# 4.其他列表
c=[7,6,5,4,3,2,1]
c.sort()#排序
c.reverse()#倒置
c.clear()#清空列表
print(c)

十、Python之字典学习和使用
# 字典
# 1、标志{} 关键字 dict
# 2、a={} 空字典
# 3、字典的数据存储格式是 key:value 键值对
# 4、字典里的value可以是任何类型的数据
# 5、取值方式:根据key取值 字典名[key]
# 6、新增一个元素 字典名[new_key]=value new_key不存在当前字典里
# 7、修改一个元素的值 字典名[old_key]=value old_key存在当前字典里
# 8、删除操作
# 9、清空操作 字典名.clear()
a={‘name‘:‘python‘,‘age‘:18,‘money‘:99.99,‘score‘:[100,100,80]}
print(type(a))
print(a)

print(a[‘name‘])

a[‘sex‘]=‘girl‘
print(a)

a[‘money‘]=1000
print(a)

a.pop(‘score‘)
print(a)

十一、python之字典常用函数
a={‘name‘:‘python‘,‘age‘:18,‘money‘:99.99,‘score‘:[100,100,80]}

# 增删改查
# 增加元素 如果key不存在 那么就是添加一个新值
# a[‘class‘]=‘python‘
# print(‘修改之后的字典值:{0}‘.format(a))

# 修改元素 如果key存在 那么就是修改key对应的值
# a[‘name‘]=‘java‘
# print(‘修改之后的字典值:{0}‘.format(a))

# 查询元素 字典名[key]
# print(‘字典里的姓名是:{0}‘.format(a[‘name‘]))

# 删除元素 字典是无序的 只能根据key删除 字典名.pop(key)
# a.pop(‘age‘)
# print(‘删除操作之后的字典值:{0}‘.format(a))

# 拓展方法:
# a.clear()#清空字典

# del a[‘money‘] #del 字典名[key] 删除指定key的元素
# print(a)
# a.popitem()#随机删除一组数据
# print(a)

# 取值的一些方法
print(a.keys())
print(a.values())
print(a.items())

#a.update(c) c里面的key如果在a里存在,那么就会把c的value值更新到a里面去
#如果不存在,那么就把不存在的key-value添加到a里面去
c={‘name‘:‘java‘,‘age‘:‘none‘,‘class‘:‘javastudy‘}
a.update(c)
print(a)

for i in a.keys():
print(i)

十二、Python之运算符
# 算术运算符 + - * / %
# +数字的相加以及字符串的拼接
# *数字的相乘以及字符串的多次拼接
# %取余运算 一般用来判断是否可以整除 或者判断是否是偶数还是奇数

# 赋值运算符 = += -= *= /=

# 比较运算符> >= < <= != == 返回的值类型是布尔值 True False

# 逻辑运算符 and or not 返回的值类型是布尔值 True False

# 成员运算符 in not in 返回的值类型是布尔值 True False
# 判断某个元素是否存在于数据里面
L=[1,2,3,4,‘HELLO‘]
print(‘H‘ in L[-1])

c={‘name‘:‘java‘,‘age‘:‘none‘,‘class‘:‘javastudy‘}
print(‘java‘ in c.values())

十三、python之if条件语句
# 1、if 条件表达式:
# 满足条件表达式(True)要执行的代码

# 2、if 条件表达式:
# A代码
# else:
# B代码

# 3、if...elif...else

# 条件语句:
# 1)、一组条件语句里面 只有一个if 可以有0个或1个else 可以有0个或多个elif
# 2)、if elif 后面必须加条件表达式 否则会报错
# 3)、else 后面不能加条件表达式 否则会报错
# 4)、可以根据不同情况去进行分支划分

# 非0的数字就代表True 0就代表False
# 空数据 空列表 空字符串 空字典 空元组 都是 False
# 非空字典 列表 字符串 元组都是True

十四、python之while循环&break&continue
# while循环
# 死循环
# 非0的数字就代表True 0就代表False
# 空数据 空列表 空字符串 空字典 空元组 都是 False
# 非空字典 列表 字符串 元组都是True

# break:结束循环
# continue:结束本次循环继续下一次循环

十五、python之嵌套for循环&range
s=‘lemon‘
L=[‘java‘,‘python‘]
t=(1,2,3,0.4,‘hi‘)
d={‘name‘:‘python‘,‘course‘:‘java‘}
for item in s:#for 遍历in后面的数据类型里面的每一个元素 依次挨个访问
print("******item*****:",item)

# for循环 循环的次数 是由in后面的数据类型的元素个数所决定

# range(m,n,k) m开头 n结尾 k步长
# 作用 生成一个整数序列
range(0,5,2)#0 2 4
range(0,10,3)#0 3 6 9

# range(m,n)#k的值默认为1 k=1
# 只传一个值n 开头m默认是0 k默认为1

# 利用range for 完成某个列表的倒序输出
s=[1,2,3,4,5,6,7]
for i in range(6,-1,-1):
print(s[i])

# 嵌套for循环
list_1=[[2,3,8,4,9,5,6],[5,6,10,17,11,2]]

# 请把列表以及列表里面的每一个元素挨个打印出来
for item in list_1:
for value in item:
print(value)
print(type(value))
# print(item)

#利用嵌套for循环打印一个直角三角形到控制台,三角形底边元素都是*
# *
# **
# ***
# ****
# *****

# for i in range(1,6):
# for j in range(i+1):
# if i==j:
# print(‘*‘*j)

for i in range(1,6):
for j in range(i):
print(‘*‘,end=‘‘)#控制不换行输出
print(‘ ‘)#for循环结束后换行

#99乘法表
#1*1=1
#1*2=2 2*2=4
#1*3=3 2*3=6 3*3=9

for i in range(1,10):
for j in range(1,i+1):
print(‘{0}*{1}={2}‘.format(j,i,j*i),end=‘ ‘)
print(‘ ‘)

原文地址:https://www.cnblogs.com/xiaoxianxianxian/p/10367485.html

时间: 2024-10-08 03:11:42

python入门以及接口自动化实践的相关文章

关于接口自动化的那些事 - 基于 Python

网络请求模拟小技巧 在学习了一段时间的Python语言后,咱也大概对Python的语法和逻辑有了一定的积累,接下来,可以为接口自动化测试开始尝试做一些比较简单的准备工作啦~跟着我一起来来来~ 扩展库requests 一般来说接口测试都是基于HTTP和HTTPS的网络请求,Python中有很多自带原生库和扩展库均可以实现.Python模拟HTTP请求有两种方式,一种是使用httplib模块,一种是使用requests模块,我个人比较倾向于使用requests库,该库把请求的框架都搭建好了,使用简洁

2020年第二期《python接口自动化+测试开发》课程,预售!

2020年第二期<python接口自动化+python测试开发>课程,12月15号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:12月15号-3月29号,每周六.周日晚上20:30-22:30 报名费:报名费3000一人(周期3个月) 联系QQ:283340479 课表如下 课程主要涉及的内容: 1.fiddler抓包与接口测试(测试基础必备) 2.python+pytest框架实现接口自动化测试(pytest框架甩unittest几条街) 3.httpr

2020年第三期《python接口自动化+测试开发》课程,4月5号开学(火热报名中!)

2020年第三期<python接口自动化+python测试开发>课程,4月5号开学(火热报名中!) 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:4月5号-6月27号,每周六.周日晚上20:30-22:30 报名费:报名费3000一人(周期3个月) 联系QQ:283340479 课表如下 课程主要涉及的内容: 1.fiddler抓包与接口测试(测试基础必备) 2.python+pytest+allure框架实现接口自动化测试(pytest框架甩unittest几条

华为测试大牛Python+Django接口自动化怎么写的?

有人喜欢创造世界,他们做了开发者:有的人喜欢开发者,他们做了测试员.什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者这个软件,避免了他们被卸载的命运. 最近被几个公司实习生整自闭了,没有基础,想学自动化又不知道怎么去学,没有方向没有头绪,说白了其实就是学习过程中没有成就感,所以学不下去.出于各种花里胡哨的原因,今天给大家整一个简单又有成就感的接口自动化学习吧. 不皮了,进入正题.本文中用到的技术点有:Python

python接口自动化9-https请求(SSL)

前言 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会报:requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) 小编环境: python:2.7.12 requests:2.13.0 fiddler:v4.6.2.0 一.SSL问题 1.不启用fiddler,直接发htt

python接口自动化2-发送post请求

前言 发送post的请求参考例子很简单,实际遇到的情况却是很复杂的,首先第一个post请求肯定是登录了,但登录是最难处理的.登录问题解决了,后面都简单了. 一.查看官方文档 1.学习一个新的模块,其实不用去百度什么的,直接用help函数就能查看相关注释和案例内容. >>import requests >>help(requests) 2.查看python发送get和post请求的案例 >>> import requests       >>> r

python+requests接口自动化完整项目设计源码

前言 有很多小伙伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违法职业道德了,就算别人分享了,也只适用于本公司内部的业务. 所以用例的代码还是得自己去一个个写,我只能分享项目框架,只能帮你们到这了. 一.项目结构 1.新建一个工程(一定要创建工程),工程名称自己定义,如:yoyo_jiekou 2.在工程的跟目录新建一个脚本:run_main.py,用来执行全部用例 3.在工程下创建以下几个pakage包: --case:这个包放test开头的测试用例,也可以放一些封装

python接口自动化5-Json数据处理

前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的参数就行,这时候就需要json来解析返回的数据了. 一.json模块简介 1.Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式,常用于http请求中 2.可以用help(json),查看对应的源码注释内容 Encoding basic P

python接口自动化10-token登录

前言 有些登录不是用cookie来验证的,是用token参数来判断是否登录. token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已:另外一种是在url请求参数里,这种更直观. 一.登录返回token 1.如下图的这个登录,无cookies 2.但是登录成功后有返回token 二.请求头带token 1.登录成功后继续操作其它页面,发现post请求的请求头,都会带token参数 2.这种请求其实比cookie更简单,直接把登录后的token放到头部就行 三.to