Python isinstance()函数
在Python中,isinstance()
函数用于判断一个对象是否是指定类或类型的实例。
isinstance()
函数接受两个参数,第一个参数是要检查的对象,第二个参数是类或类型。如果第一个参数是指定类或类型的实例,则返回True
,否则返回False
。
isinstance()函数示例
# 判断一个整数是否是 int 类型的实例
num = 123
result = isinstance(num, int)
print(result) # 输出:True
# 判断一个字符串是否是 str 类型的实例
str_value = "hello world"
result = isinstance(str_value, str)
print(result) # 输出:True
# 判断一个列表是否是 list 类型的实例
list_value = [1, 2, 3]
result = isinstance(list_value, list)
print(result) # 输出:True
需要注意的是,如果一个类继承自另一个类,那么它也被视为是父类的实例。也就是说,如果一个对象是某个类的实例,那么它也被视为是该类的父类的实例。
# 定义一个父类
class Animal:
pass
# 定义一个子类
class Dog(Animal):
pass
# 创建一个 Dog 对象
dog = Dog()
# 判断 Dog 对象是否是 Animal 类型的实例
result = isinstance(dog, Animal)
print(result) # 输出:True
除了用于判断对象类型之外,isinstance()
函数还可以用于检查一个对象是否属于多个类或类型中的任何一个。
# 判断一个对象是否是 int 或 float 类型的实例
num = 123
result = isinstance(num, (int, float))
print(result) # 输出:True
# 判断一个对象是否是 str 或 list 类型的实例
list_value = [1, 2, 3]
result = isinstance(list_value, (str, list))
print(result) # 输出:True