程序员社区

python isinstance() type()

type()函数如果只有一个参数则返回对象的类型,三个参数返回新的类型对象。

测试和输出:
print(type('hello world'))
<class 'str'>

isinstance()函数用来判断一个对象是否是一个已知的类型。

测试和输出:
print(isinstance('hello world',str))
True

当用来判断一个对象是否属于一个类的时候,isinstance和type有一些区别:

class A:
    pass
 
class B(A):
    pass
 
isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

type()不会认为子类是一种父类类型,不考虑继承关系。
isinstance()会认为子类是一种父类关系,考虑继承关系。
如果要判断两个类型是否相同,推荐使用isinstance()

参考:
https://www.runoob.com/python/python-func-type.html
https://www.runoob.com/python/python-func-isinstance.html

赞(0) 打赏
未经允许不得转载:IDEA激活码 » python isinstance() type()

一个分享Java & Python知识的社区