Python中type和instance的区别

python学习网 2020-09-09 16:10:02

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。 isinstance() 与type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。 isinstance() 会认为子类是一种父类类型,考虑继承关系。如果要判断两个类型是否...

class Foo(object):

pass
 
class Bar(Foo):
pass
 
obj = Bar()
 
# isinstance用于判断,对象是否是指定类的实例 (错误的)
# isinstance用于判断,对象是否是指定类或其派生类的实例
print(isinstance(obj,Foo)) #True
print(isinstance(obj,Bar))#True
#精确的
print(type(obj) == Bar) #True
print(type(obj) == Foo) #False
阅读(2926) 评论(0)