type()和isinstance()的区别

问题:Python中type与isinstance方法的区别

在Python中,我们使用type和isinstance来测试和判断数据类型,其中type用于获取对象的类型,其返回值是对象的类型;isinstance用于测试对象是否是某种类型,返回True或False

区别

① 目的不同,type主要用于返回对象的类型,isinstance用于判断对象是否是指定类型

② 返回值不同,type返回类型,isinstance返回True或False

a = 12
b = 1.2
print(type(a))  # 
print(type(b))  # 

if type(a) == int:
    print('int')


print(isinstance(a, int))  # True
print(isinstance(a, float))  # False
print(isinstance(a, (int, float)))  # True
print(isinstance(b, (int, float)))  # True

③ type不能判断子类对象是否属于父类,而isinstance可以

# 父类
class Father:
    pass


# 子类
class Son(Father):
    pass


if __name__ == '__main__':
    son = Son()
    print(type(son))  # 
    

你可能感兴趣的:(面试题,python,开发语言)