python----isinstance():用于判断一个对象是否是一个已知的类型
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
两者之间的区别:
-
type() 不会认为子类是一种父类类型,不考虑继承关系。
-
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
语法
以下是 isinstance() 方法的语法:
isinstance(object, classinfo)
参数
- object -- 实例对象。
- classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。
返回值
如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。
实例:
1 import json 2 3 list1 = [1,2,3,4,5] 4 tuple1 = ('wuya','age','address') 5 dict1 = {'name':'wuya','age':20,'address':'xian'} 6 7 def jsonTest(a): 8 if isinstance(a, list) or isinstance(a, tuple): 9 str_json = json.dumps(a) 10 print('序列化后的数据类型:', type(str_json), '内容:', str_json) 11 type_json = json.loads(str_json) 12 print('反序列化后的数据类型:', type(type_json), '内容:', type_json) 13 else: 14 str_json = json.dumps(a) 15 print('序列化后的数据类型:', type(str_json), '内容:', str_json) 16 type_json = json.loads(str_json) 17 print('反序列化后的数据类型:', type(type_json), '内容:', type_json) 18 19 jsonTest(list1) 20 jsonTest(tuple1) 21 jsonTest(dict1)
运行结果