isinstance() 函数

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

isinstance() 与 type() 区别:

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

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

语法

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

示例

>>>a = 123
>>> 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 @ 2024-07-14 09:13  华小电  阅读(10)  评论(0编辑  收藏  举报