记录 | python isinstance()用法

描述

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

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

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

语法

以下是 isinstance() 方法的语法:

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

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

实例

以下展示了使用 isinstance 函数的实例:

>>> 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

你可能感兴趣的:(踩坑记录,python,isinstance)