下面是Python接口测试返回数据为字典取值方式的攻略:
1. 什么是字典
字典是Python语言中内置的数据类型之一,通过一些键值对(key-value)的方式来存储和组织数据。字典中的键是唯一的,对应的值可以是不唯一的,并且可以是任何数据类型。字典的定义方式为用大括号{}包括起来,键和值之间用冒号:分隔,不同的键值对之间用逗号,分隔。例如:
dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
其中,'name'、'age'和'gender'为键,对应的'Tom'、18和'male'为值。
2. Python接口测试返回数据为字典
在Python接口测试中,常常会返回字典类型的数据。接口测试需要对返回的数据进行验证,比如验证特定字段的值等。因此,需要了解如何从字典中取出对应的值。
从字典中取值有两种方式,一种是通过[]运算符根据键获取值,另一种是通过get()方法获取值。
2.1 通过[]运算符获取值
取值方式为字典名称[键],其中键对应的是字典中的某个特定键名。例如:
dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
name_value = dict1['name']
print(name_value) # 输出结果为'Tom'
2.2 通过get()方法获取值
取值方式为字典名称.get(键),与[]运算符不同的是,如果指定的键不存在,则不会报错,而是返回None或指定的默认值。例如:
dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
name_value = dict1.get('name')
print(name_value) # 输出结果为'Tom'
university_value = dict1.get('university', '暂无数据')
print(university_value) # 如果字典中没有键为'university'的值,则输出'暂无数据'
3. 示例说明
3.1 示例1 - 取出学生信息
假设有一个查询学生信息的接口,返回的数据格式如下:
{
"name": "Tom",
"age": 18,
"gender": "male",
"score": {
"English": 80,
"Math": 90,
"Chinese": 95
}
}
现在需要从返回的数据中取出学生的姓名、年龄和语文成绩。
import requests
url = 'http://api.example.com/student_info'
response = requests.get(url)
data = response.json() # 将返回的json数据转换成Python字典
name = data["name"]
age = data["age"]
Chinese_score = data["score"]["Chinese"]
print("姓名:", name, "\n年龄:", age, "\n语文成绩:", Chinese_score)
3.2 示例2 - 取出城市天气信息
假设有一个查询天气的接口,返回的数据格式如下:
{
"city": "北京",
"weather": {
"today": "晴",
"tomorrow": "多云",
"after_tomorrow": "小雨"
},
"temperature": {
"today": 15,
"tomorrow": 16,
"after_tomorrow": 14
},
"wind": {
"today": "北风2级",
"tomorrow": "东北风2级",
"after_tomorrow": "东南风3级"
}
}
现在需要从返回的数据中取出今天、明天和后天的天气情况。
import requests
url = 'http://api.example.com/weather_info'
response = requests.get(url)
data = response.json() # 将返回的json数据转换成Python字典
today_weather = data["weather"]["today"]
tomorrow_weather = data["weather"]["tomorrow"]
after_tomorrow_weather = data["weather"]["after_tomorrow"]
print("今天:%s\n明天:%s\n后天:%s" % (today_weather, tomorrow_weather, after_tomorrow_weather))
以上就是Python接口测试返回数据为字典取值方式的攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python接口测试返回数据为字典取值方式 - Python技术站