国际访客建议访问 Primers 编程伙伴 国际版站点 > Python 教程 > isinstance 以获得更好的体验。

# Python 的内置函数 isinstance

请查看 Python 内建函数列表 了解更多相关 API。

说明:判断是否是某个类型的实例。

# 函数说明

def isinstance(obj, classinfo) -> bool:
    '''
    获取输入

    :param obj: 一个对象
    :param classinfo: 一个类型
    :return: 如果 obj 是 classinfo 类型则返回 True,否则返回 False
    '''

!subtitle:说明

判断是否是某个类型的实例。

classinfo 可以是多个类构成的元组或 union 类型,obj 只要是其中一个类的实例即返回 True

!subtitle:参数

  • obj - 要判断的对象

  • classinfo - 要判断的类

!subtitle:返回值

  • 如果 objclassinfo 或其子类的实例,则返回 True

  • 如果 obj 不是 classinfo 或其子类类的实例,则返回 True

# 示例

运行示例

print(isinstance(233, int))             # True
print(isinstance(233, float))           # False
print(isinstance('233', int))           # False
print(isinstance('233', int|str))       # True,union 类型满足其一
print(isinstance('233', (int, str)))    # True,元组满足其一

class Animal:           # 动物
    pass

class Mammal(Animal):   # 哺乳动物
    pass

class Cat(Mammal):      # 猫
    pass

print(isinstance(Cat(), Cat))           # True,Cat() 是 Cat 的实例
print(isinstance(Cat(), Mammal))        # True,Cat() 是 Mammal 的实例
print(isinstance(Cat(), Animal))        # True,Cat() 是 Animal 的实例
print(isinstance(Mammal(), Cat))        # False,Mammal() 不是 Cat 的实例
print(isinstance(Mammal(), Animal))     # True,Mammal() 是 Animal 的实例

# 推荐阅读

本文 更新于: 2025-11-27 09:37:59 创建于: 2025-11-27 09:37:59