首页 > 编程语言 >python中一个方法生成的值如何传给另一个方法使用?

python中一个方法生成的值如何传给另一个方法使用?

时间:2023-11-28 13:45:57浏览次数:30  
标签:headers python 方法 host url token 传给 data response

一、问题

python中一个方法生成的值如何传给另一个方法使用?

 

二、回答

有3种方式:
1.接收方法A的返回值,传给方法B使用
2.设置全局变量传递值
3.利用pytest的fixture特性传值

 

第一种方式:接收方法A的返回值,传给方法B使用

 1 import requests  
 2 host = "http://66.66.66.66:9000"  
 3 def login():  
 4     url = host + '/pinter/bank/api/login2'  
 5     data = {"userName":"admin","password":"1234"}  
 6     response = requests.post(url=url,data=data)  
 7     token = response.json().get("data")  
 8     return token  
 9   
10 def query(token):  
11     url = host + '/pinter/bank/api/query2'  
12     headers = {"testfan-token": token}  
13     data = {"userName": "admin"}  
14     response = requests.get(url=url, params=data,headers=headers)  
15     print(response.json())  
16   
17 token = login()  
18 query(token)

 

第二种方法:设置全局变量传递值

 1 import requests  
 2   
 3 host = "http://66.66.66.66:9000"  
 4 token = ""  
 5 def login():  
 6     url = host + '/pinter/bank/api/login2'  
 7     data = {"userName":"admin","password":"1234"}  
 8     response = requests.post(url=url,data=data)  
 9     global token  
10     token = response.json().get("data")  
11     print(response.json())  
12     print(token)  
13   
14 def query():  
15     url = host + '/pinter/bank/api/query2'  
16     headers = {"testfan-token": token}  
17     data = {"userName": "admin"}  
18     response = requests.get(url=url, params=data,headers=headers)  
19     print(response.json())  
20   
21 login()  
22 query()

 

第三种方式:利用pytest的fixture特性传值
getToken方法装上了 @pytest.fixture(),在 testQuery(getToken)中传参,即可获取getToken方法的返回值

 1 host = "http://66.66.66.66:9000" 
 2 
 3 @pytest.fixture()  
 4 def getToken():  
 5     url = host + '/pinter/bank/api/login2'  
 6     data = {"userName": "admin", "password": "1234"}  
 7     response = requests.post(url=url, data=data)  
 8     assert response.json().get("code") == '0'  
 9     return response.json().get("data")
10 
11 def testQuery(getToken):  
12     url = host + '/pinter/bank/api/query2'  
13     headers = {"testfan-token": getToken}  
14     data = {"userName": "admin"}  
15     response = requests.get(url=url, params=data, headers=headers)  
16     assert response.json().get("code") == '0'

 

标签:headers,python,方法,host,url,token,传给,data,response
From: https://www.cnblogs.com/miaomiaokaixin/p/17861765.html

相关文章

  • Java开发者的Python快速进修指南:实战之简易跳表
    前言之前我已经将Python的基本语法与Java进行了比较,相信大家对Python也有了一定的了解。我不会选择去写一些无用的业务逻辑来加强对Python的理解。相反,我更喜欢通过编写一些数据结构和算法来加深自己对Python编程的理解。学习任何语言都一样。通过编写数据结构和算法,不仅可以加......
  • python正则表达式
    一、问题:对返回的非json结果如何拿到里面想要的那部分内容 二、回答可以通过正则表达式获取:findall.*匹配0~n个内容.+起码匹配1个()分组如对xml结果的数据进行处理,代码如下所示:1deftestPostXml():2'''3xml数据4:return:5'''......
  • python正则贪婪匹配
    一、问题:我想对a234ba444bab这个字符串,提取出来234和444两组数据,要怎么匹配 二、回答采用re.findall('a(.+?)b','a234ba444bab')说明:这里.+代表起码匹配一个,如果用.*的话可能匹配出来空即0~n个这里?代表最小匹配即非贪婪匹配,上面的意思是当看到b就结束,不加?则看到b不会立马结......
  • python如何获取工程的根目录以及文件路径?
    一、问题:python如何获取工程的根目录以及文件路径? 二、回答1.思路为在工程根目录下新建一个py文件,这样获取到的路径就是工程的根路径2.基于此即可封装获取文件路径的方法代码如下所示:1importos23defgetFileDir(*args):4'''5获取工程中文件路径,......
  • 【Python】注解的使用
    注解是给人看的,编译器并不会检查类型。如果不写注解,编辑器不会有代码补全功能,因为它不知道你是什么类型。有了注解之后,编辑器就知道你是什么类型,就会进行代码提示。1、函数注解语法如下:deffunc_name(arg1:Type,arg2:Type)->ReturnType:pass2、变量注解语法如下:va......
  • python Matplotlib库:根据excel生成各种柱状图
    我将向大家介绍如何使用Python和一些常见的库来根据Excel数据生成十种不同类型的图表。通过多维度的可视化,我们可以更全面地了解数据中的模式、趋势和关系。无论您是数据分析师、市场营销人员还是研究人员,这些图表将帮助您挖掘数据中更多的信息。1.准备工作 首先,我们需要安装一些......
  • python中全局变量和局部变量作用域理解
    一:描述python中全局变量和局部变量作用域理解 二:回答1. 局部变量不能修改全局变量局部变量只作用于方法内,无法修改全局变量1#全局变量city2city="上海"34defmod_city():5#局部变量city6city="深圳"7print(city)89......
  • python中面向对象有什么特点
    一:问题python中面向对象有什么特点? 二:回答python同其他面向对象语言一样,有3个特征:封装、继承、重写 简单理解就是:封装:把一系列属性和操作封装到一个方法里面,这样想要实现某种效果,只需要简单的调个方法名字就行了,不需要在写一遍所有的操作内容继承:简单理解就是拼爹,父辈拥......
  • python面向对象方法与属性
    一:描述python中面向对象方法与属性:①静态变量:实例变量、类变量②静态方法:@staticmethod,相当于被放到类里的函数③私有属性和方法:以两个下划线开头,如__secret()④魔术方法:以两个下划线开头且以两个下划线结尾,如__secret__()⑤受保护的属性和方法:以一个下划线开头,如_secret()⑥特殊......
  • python对象嵌套
    一、描述python对象嵌套,即包含的关系。python实现:班级(名字,多个学生)、学生(学号,姓名) 二、详细说明要想实现班级里含有多个学生的这种关系,可以在班级类里嵌套学生类,将学生类信息以列表的形式存储保存即可1classStudent:2def__init__(self,s_no,s_name):3......