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