您的位置:

Python isinstance()函数:判断变量类型是否匹配

一、什么是isinstance()函数

在Python中,isinstance()函数是一个内置函数,可用于检查对象是否属于指定类或类型。该方法接受两个参数,第一个参数是要验证的对象,第二个参数是一个类或者类型。isinstance()函数会返回布尔值,如果对象是指定类或类型的实例,则返回True,否则返回False。

二、isinstance()函数的使用方法

下面是isinstance()函数的基本用法示例:

a = 5
b = "hello"
 
# 判断a是否是int类型
print(isinstance(a, int))  # True
 
# 判断b是否是str类型
print(isinstance(b, str))  # True

在上面的示例中,我们使用isinstance()函数检查变量a和变量b是否是指定的类型。对于变量a,我们判断它是否是int类型,对于变量b,我们判断它是否是str类型。

三、isinstance()函数的高级用法

1、检查对象的类型是不是元组中的一个类型

下面是一个检查对象的类型是否是元组中任何一个类型的示例:

a = "hello"
 
# 检查a是否是int或str类型
print(isinstance(a, (int, str)))  # True

在上面的示例中,我们使用isinstance()函数检查变量a是否是int类型或str类型之一。我们将要检查的类型作为元组(int, str)传递给isinstance()函数。

2、判断是否是一个类的实例或子类的实例

# 创建一个自定义类
class Person:
    pass
 
# 创建一个子类,继承Person类
class Student(Person):
    pass
 
# 实例化Person和Student对象
person = Person()
student = Student()
 
# 判断person是否是Person类的实例
print(isinstance(person, Person))  # True
 
# 判断student是否是Person类的实例
print(isinstance(student, Person))  # True
 
# 判断person是否是Student类的实例
print(isinstance(person, Student))  # False
 
# 判断student是否是Student类的实例
print(isinstance(student, Student))  # True

在上面的示例中,我们首先定义了一个Person类和一个Student类,Student类继承了Person类。然后,我们实例化了Person对象和Student对象,并使用isinstance()函数检查它们是否是指定的类的实例。在这个例子中,我们分别检查了person和student是否是Person类的实例和Student类的实例。

四、总结

isinstance()函数是Python中一个非常实用的函数,它可以帮助我们判断一个对象是否是指定类或类型的实例。我们可以通过isinstance()函数的两个参数来检查对象的类型,也可以使用它的高级用法来检查对象是否是元组中任何一个类型的实例或者一个类的实例或子类的实例。