python isinstance()函数

python isinstance()函数

描述

isinstance()函数来判断一个对象是否是一个已知的类型,类似type()

isinstance()type()的区别

  • type()不会认为子类是一种父类类型,不考虑继承关系
  • isinstance()会认为子类是一种父类类型,考虑继承关系

如果要判断两个类型是否相同推荐使用isinstance()

语法

以下是isinstance()方法的语法
isinstance(<font color=red>object</font>,classinfo)

参数

  • object:实例对象
  • classinfo:可以是直接或间接类名,基本类型或者由它们组成的元组

返回值

如果对象的类型与参数二的类型(classinfo)相同则返回True,否则返回False

实例

>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))    # 是元组中的一个返回 True
True  

type()与isinstance()的区别

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  
posted @ 2023-03-31 15:59  则阳  阅读(36)  评论(0)    收藏  举报