#Python 的内置函数 isinstance
说明:判断是否是某个类型的实例。
#函数说明
def isinstance(obj, classinfo) -> bool:
'''
获取输入
:param obj: 一个对象
:param classinfo: 一个类型
:return: 如果 obj 是 classinfo 类型则返回 True,否则返回 False
'''
说明
判断是否是某个类型的实例。
classinfo
可以是多个类构成的元组或 union
类型,obj
只要是其中一个类的实例即返回 True
。
参数
obj
- 要判断的对象classinfo
- 要判断的类
返回值
- 如果
obj
是classinfo
或其子类的实例,则返回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 的实例