python 判断返回值是否是字典

背景:

小鱼最近再调一个小工程时,需要对返回值进行处理(返回值如下),有的返回值 有data1 有的没有;需要做个判断,判断是否含有该key值

1 返回值:
2 res1 =  {"result":1,"data":{"data1":111}}
3 res2 =  {"result":1,"data":111}

在网上查到,可以使用 res1["data"].keys() 判断 key值存不存在 ,但需要是 字典类型才可以;

如果 是res2["data"].keys() 就直接报错了;

换一种思路,先判断是否是字典,方法如下:

1 if isinstance(res2['data'],dict):
2    ...........

使用  isinstance(res2,dict)  方法可以解决以上问题

相应的判断如下

1 isinstance(res2,list)  #list
2 isinstance(res2,tuple)  #tuple
3 isinstance(res2,int)  #int
4 isinstance(res2,str)  #str
原文地址:https://www.cnblogs.com/whycai/p/11714049.html