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()函数来判断参数的类型是否符合要求,从而避免程序出现不必要的错误。
