Python isinstance 用法详解及示例
Python isinstance语法
isinstance()
函数是Python中的一个内置函数,用于判断一个对象是否是指定类型的实例。它的语法如下:
isinstance(object, classinfo)
object
为要判断的对象,classinfo
为要判断的类型。classinfo
可以是一个类名称、类型名称(如int
、str
等)或一个包含类型名称的元组。
3个示例
下面是三个使用isinstance()
函数的示例:
示例一:判断一个对象是否是指定类型的实例
x = 5
print(isinstance(x, int)) # 输出 True
print(isinstance(x, str)) # 输出 False
在这个示例中,我们先定义了一个变量x
并赋值为整数5
。然后使用isinstance()
函数判断x
是否是int
类型的实例,输出为True
。然后再判断x
是否是str
类型的实例,输出为False
。
示例二:判断一个对象是否属于多个类型中的任意一个
x = "Hello"
print(isinstance(x, (int, str))) # 输出 True
print(isinstance(x, (list, tuple))) # 输出 False
在这个示例中,x
是字符串类型。使用isinstance()
函数判断x
是否属于多个类型中的任意一个,我们可以将多个类型名称放在一个元组中作为classinfo
参数传递给isinstance()
函数。如果x
是这些类型中的任意一个,输出为True
;否则输出为False
。
示例三:判断一个对象是否是某个类的子类或者实例
class Animal:
pass
class Dog(Animal):
pass
x = Dog()
print(isinstance(x, Animal)) # 输出 True
print(isinstance(x, Dog)) # 输出 True
print(isinstance(x, int)) # 输出 False
在这个示例中,我们定义了一个Animal
类和Dog
类,Dog
类是Animal
类的子类。然后创建了一个Dog
类的实例x
。使用isinstance()
函数判断x
是否是Animal
类的子类或实例,输出为True
。再判断x
是否是Dog
类的子类或实例,同样输出为True
。但是由于x
不是整数类型的实例,所以判断x
是否是int
类型的实例时输出为False
。
通过这三个示例,我们可以看到isinstance()
函数的使用方式和功能。它是一个非常方便的函数,可以用于在编程中进行类型判断,以方便我们根据不同的类型进行相应的处理。