函数间传参实例(前一个函数产生的数据传到给后一个函数应用)
场景一:
场景描述:A函数通过一系列的请求与执行,创建并产生订单
B函数获取该订单,然后查询该订单,获取订单信息
本次实例的关键就是,A产生的订单号,传给B,实现函数间传参
代码如下:
import requests # 先导入包,这是必须的 import json ordid="190416111501017074" #A函数产生的订单号,具体过程不在此书写
#ordid为定义的变量,需要写到下面函数的括号中,可理解为把变量ordid传到函数search中
def search(ordid): payload = {'PageIndex': '1', 'PageSize':'10', #'MinDate':, #'MaxDate':, 'PaymentChannel':'0', #'MemberName':, 'OrderNo':ordid, #应用变量 'RightsStatus':'0', #'Receiver':, #'GoodsKeyWord':, 'OrderStatus':'2', 'PrintStatus':'0', 'Sort':'1', 'rend':'0.19890558690118176'} url = 'https://xxx.bbb.com/100000000032/OrderDeliver/GetOrderList?' # url:接口地址 header = { 'authorization': 'Bearer.eyJtaWQiOjE1Nzk5LCJ1bm_ZmrAo4OaEa8upMQ-eRy9Lsk', 'req-host': 'shop.xxx.com', 'content-type': 'application/json', 'content-length': '0', 'host': 'xxxx.xxx.com'} # header:传递header信息 data = None r = requests.get(url, data=data, headers=header, params=payload) # 请求url,获得返回的数据信息 text = r.text #print(text) # 获得的返回数据使用text方法进行获取 jsonobj = json.loads(text) # 将响应内容转换为Json对象 orderId = jsonobj['Data']['DataList'][0]['Id']# 从Json对象获取想要的内容 listItemId = jsonobj['Data']['DataList'][0]['OrderItem'][0]['Id']# 从Json对象获取想要的内容 print(text) return(orderId,listItemId) a = search(ordid) #执行定义好的请求函数 b=a[0] c=a[1]
如此即实现了id变量化,从前一脚本获取,传给后面的脚本使用
参考地址:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
场景二:
比如A函数执行后输出a1数据,B函数需要a1数据的传入,才可完整执行
脚本的写法:
Def A(): Xxxxx Print(a1) returnt(a1) c=A() Def B(c): Xxxxx:c
如此实现函数A生成数据,传给函数B使用
如果A生成多项数据,则在c=A()的基础上,再分割数据
c=A()
d=c[0]
e=c[1]
0代表第一项数据,1代表第二项数据
B函数执行的时候要带上传参
B(c)