Python isinstance() 函数的用法 判断指定的对象是否属于指定的类型

1、定义和用法

如果指定的对象属于指定的类型,则isinstance()函数将返回True,否则返回False

如果type参数是一个元组,如果对象是元组中的类型之一,则此函数将返回True

isinstance() 与 type() 区别:

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

2、调用语法

isinstance(object, ptype)

3、参数说明

参数 描述
object 必需的参数,一个object对象。
ptype 可以是直接或间接类名、基本类型或者由它们组成的元组。

4、使用示例

例如:

检查“Hello”是否是type参数中描述的类型之一:

x = isinstance("Hello", (float, int, str, list, dict, tuple))

例如:

检查y是否是myObj的实例:

class myObj:
name = "John"

y = myObj()

x = isinstance(y, myObj)

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

5、相关函数

issubclass():函数,用于检查一个对象是否是另一个对象的子类。

检查数字5是否为整数:

x = isinstance(5, int)