Python isinstance函数教程
Python isinstance函数详解
语法
isinstance(object, classinfo)
说明
判断实例 object 是否为类 classinfo 的类型,如果 object 是 classinfo 的类型返回
isinstance 函数的第二个参数可以是一个
案例
isinstance判断内置类型
使用 isinstance 判断内置类型
print("嗨客网(www.haicoder.net)")
name = "HaiCoder"
age = 109
score = 99.98
print("name isinstance str =", isinstance(name, str))
print("age isinstance int =", isinstance(age, int))
print("score isinstance float =", isinstance(score, float))
print("age isinstance str =", isinstance(age, str))
程序运行后,控制台输出如下:
首先,我们定义了三个
接着,我们分别使用 isinstance 分别判断 name 是否是 str 类的子类,age 是否是 int 类的子类,score 是否是 float 类的子类,结果,都返回了 True。
最后,我们判断 age 是否是 str 类的子类,结果返回了 False,即 age 不是 str 类的子类。
isinstance判断自定义类型
使用 isinstance 判断自定义类型
print("嗨客网(www.haicoder.net)")
class Person:
pass
class Student(Person):
pass
class Teacher(Student):
pass
class Cat:
pass
person = Person()
student = Student()
teacher = Teacher()
cat = Cat()
print("student isinstance Person =", isinstance(student, Person))
print("teacher isinstance Person =", isinstance(teacher, Person))
print("cat isinstance Person =", isinstance(cat, Person))
print("cat isinstance Person =", isinstance(cat, (Person, object)))
程序运行后,控制台输出如下:
我们分别定义了一个 Person 类、一个 Student 类、一个 Teacher 类和一个 Cat 类,其中,Student 类
接着,我们分别实例化了四个对象,并分别使用 isinstance 判断 student 对象是否是 Person 类的实例,teacher 实例是否是 Person 类的实例,结果,都返回了 True,即,它们都直接或间接继承了 Person 类。
最后,我们判断 cat 实例是否是 Person 类的实例,结果返回了 False,即 Cat 不是 Person 类的实例,同时,我们使用了 isinstance 判断了 cat 实例是否是 Person 类或者是否是 object 类的实例,结果返回了 True。
即,如果 isinstance 函数的第二个参数是一个元祖,那么只要第一个参数是元祖中类的任何一个类的实例,那么 isinstance 就返回 True。
Python isinstance函数总结
Python 中的 isinstance 函数用于判断一个对象是否是某种类型。 isinstance 不仅可以用于内置类型的判断,也可以用于自定义类的判断。