函数间传参实例(前一个函数产生的数据传到给后一个函数应用)

场景一:

 场景描述: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)

posted @ 2019-08-15 11:49  小贝书屋  阅读(424)  评论(0编辑  收藏  举报