如何用更简洁的方式在Python中同时打印JSON中的整数与字符串?
更简洁地同时打印整数与字符串的方法
嘿,针对你的需求,我整理了几个Python里简洁又实用的方法,结合你给出的召唤师数据来举例,刚好能解决你想同时输出字符串(比如召唤师名称)和整数(比如等级)的问题:
1. 首选:f-string(Python 3.6+)
这是目前最简洁直观的写法,直接把变量嵌入字符串中,Python会自动处理整数到字符串的转换,完全不用手动调用str():
# 假设你已经把API返回的JSON转成了字典data data = {'id': 19598310, 'accountId': 32292195, 'name': 'mars7327', 'profileIconId': 607, 'revisionDate': 1516584074000, 'summonerLevel': 30} # 直接混合打印字符串和整数 print(f"召唤师{data['name']}的等级是{data['summonerLevel']},头像ID为{data['profileIconId']}")
输出结果:
召唤师mars7327的等级是30,头像ID为607
2. 兼容性更强:str.format()
如果你的Python版本低于3.6,用这个方法也很简洁,通过占位符{}来指定变量位置:
print("召唤师{}的等级是{},头像ID为{}".format(data['name'], data['summonerLevel'], data['profileIconId']))
输出和上面完全一致。
3. 最简快速法:逗号分隔打印
Python的print()函数支持直接用逗号分隔多个变量,它会自动把所有类型转成字符串,并且用空格分隔内容:
print("召唤师", data['name'], "的等级是", data['summonerLevel'], ",头像ID为", data['profileIconId'])
输出:
召唤师 mars7327 的等级是 30 ,头像ID为 607
结合你的API请求代码优化
把这些方法融入你原本的代码里,完整的示例大概是这样(顺便优化了URL拼接的写法,避免字符串拼接的繁琐):
import requests summoner = "mars7327" API_KEY = '你的API_KEY' # 用f-string拼接URL更简洁 url = f"https://na1.api.riotgames.com/lol/summoner/v3/summoners/by-name/{summoner}?api_key={API_KEY}" response = requests.get(url) if response.status_code == 200: data = response.json() # 用最简洁的f-string打印结果 print(f"查询到召唤师:{data['name']} | 等级:{data['summonerLevel']} | 账号ID:{data['accountId']}") else: print("请求失败,请检查API_KEY或召唤师名称")
内容的提问来源于stack exchange,提问作者KowaiiNeko
相关产品推荐
相关产品推荐

