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

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

原文地址:https://www.cnblogs.com/becks/p/11357107.html

时间: 2024-10-08 10:42:17

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

PHP_零基础学php_3PHP函数、传参函数、默认参数、函数返回值

<?php function say_hello() //无参数 { $name="tang"; echo "hello,".$name; echo "<br />"; echo "<hr />"; } say_hello();//函数调用 function say_helloS($some_name)//有参数 { echo "hello,".$some_name; echo

C#为什么不能像C/C++一样的支持函数只读传参

C#为什么不能像C/C++一样的支持函数只读传参? 这个问题其实问的人挺多的,我自己也经常想实现这个功能,但是发现总是那么的不尽人意. 有些人倒是给出了一下答案,但是都不能很好的解决像C/C++一样的支持函数只读传参这个问题. 其实这块我觉得我们可能有个误区.就是我们为什么要这样做呢?这样做的目的是什么?对了就是这个.答案也在这里面.关键就在这目的上.我们用C/C++可能有 function(Data const * const pcData),但是在C#里面没有了.感觉似乎少了点什么.对就是少

Python之函数(一)定义函数以及传参

定义函数以及传参 函数的定义 def 函数名(): 函数体 例子: def func():#def关键字--定义 func函数名--和变量定义规则一样 ()必须要写格式 :声明 语句结束 s=[1,2,3] count=0 for i in s: count+=1 print(count) 调用函数: def my_len(): s = (1,2,23,3,4,5,6) count = 0 for i in s: count += 1 print(count) #调用函数 函数名+() myle

JS函数传参实例应用:多组图片切换实例

之前的博客有一个图片切换的例子,实现了简单轮播图的点击切换的案例,今天就说一下多组轮播切换,前提是布局差不多,通过函数传参的形式减少代码应用,但是同时还能实现效果.先来看一下之前那个例子的实现图片: 那么今天我来实现两组这样的图片切换,通过传参数来实现,这样分可以减少js代码: <div class="box" id="pic1"> <img src="" /> <span>数量正在加载中--</span

C++类成员函数的传参问题

最近代码中经常会出现,成员函数传参经常会发生值传不进去的情况,也是比较低级的错误,这里整理一下供大家参考一下.   (1)成员变量名与形参名相同 World::World(unsigned maxContacts, unsigned iterators) { resolver = iterators; maxContacts = maxContacts; contacts = new ParticleContact[maxContacts]; calculateIterations = (ite

Java函数的传参机制

一 最近的一个项目,里面各种返回void,参数用引用类型,那叫一个熟和多,但是也把我绕糊涂了. 我就打算好好理一理java的传参机制,整理一番 二 很多人一听Java的传参,那一定会脱口而出,java都是值传递的.恭喜各位,答对了. 那么,传的是什么值? 如果参数类型是原始类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的.如果在函数中改变了副本的值不会改变原始的值. 如果参数类型是引用类型,那么传过来的就是这个引用参数的副本,这个副本存放的是参数的地

初识python 函数(定义,传参,返回值)

python基础(二): 菜鸟教程基础知识讲解的非常全面,内容选择我认为的重点输出一遍 函数: 定义一个函数: 你可以定义一个由自己想要功能的函数,以下是简单的规则: def fun(arg): pass return arg # 函数调用语法 fun(arg) arg:argument,参数(也叫prarmeter) ,任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. def:define,定义,创建函数 ,函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()

js函数的传参问题

<!Doctype html> <html> <head> <title>js的传参问题</title> <script type="text/javascript"> function get(username) { alert(username); } </script> </head> <body> <input type="button" val

js函数动态传参

js函数体内可以通过arguments对象来接收传递进来的参数,利用这一对象属性可以动态传参. function box() { return arguments[0]+' | '+arguments[1]; //得到每次参数的值 } alert(box(1,2,3,4,5,6)); //传递参数 arguments对象的length属性可以得到参数的数量. function box() { return arguments.length; //得到6 } alert(box(1,2,3,4,5