欢迎访问宙启技术站
智能推送

Python isinstance()函数的用法和示例

发布时间:2023-06-23 20:46:20

isinstance()是Python内置的函数之一,主要作用是判断一个对象是否属于指定的类(class)或类型(type),它的语法格式如下:

isinstance(object, classinfo)

其中,object是要判断的对象,而classinfo则是一个类或类型的元组(tuple)。如果要判断一个对象是否属于多个类或类型,可以将这些类或类型组成一个元组传递给classinfo参数。下面是一个示例:

class Student:
    pass

class Person:
    pass

class Musician:
    pass

stu = Student()
per = Person()
mus = Musician()

print(isinstance(stu, Student))  # True
print(isinstance(per, (Student, Person)))  # True
print(isinstance(mus, (Student, Person)))  # False

在上述示例中,我们先定义了三个类(Student,Person,Musician),然后创建了一个stu对象和两个其它类型的对象。接着,我们使用isinstance()函数分别判断这三个对象是否属于某个特定的类或类型。

需要注意的是,isinstance()函数只能判断对象是否属于某个类或类型,而不能判断某个对象是否是某个类或类型的实例。例如:

class Student:
    pass

stu = Student()

print(isinstance(stu, Student))  # True
print(isinstance(Student, type))  # True
print(isinstance(stu, type))  # False

在上述示例中,我们使用isinstance()函数分别对一个stu对象和Student类进行判断。可以看到, 个判断返回True,表示stu对象是Student类的一个实例。而第二个判断返回True,表示Student是一个类或类型。然而,第三个判断返回False,因为stu对象并不是一个类或类型,它只是Student类的一个实例。

最后需要指出的是,isinstance()函数通常用于编写更加灵活的程序,并避免在代码中使用硬编码。例如,在编写一个函数时,我们可以先定义一个参数列表,其中包含函数所需的所有参数和参数类型。然后,在函数体内部使用isinstance()函数来判断参数的类型是否符合要求,从而避免程序出现不必要的错误。