pythonisinstance函数含义及用法解析

发布时间 : 2020/11/30 09:30

isinstance函数

Python isinstance函数教程

Python 中的 isinstance 函数用于判定一个 对象 是否是某种种类。 isinstance 不但可以用于内置种类的判定,也可以用于自定义 类 的判定。

Python isinstance函数详解

语法

isinstance(object, classinfo)

说明

判定实例 object 是否为类 classinfo 的种类,假如 object 是 classinfo 的种类返回 True ,不然返回 False。

isinstance 函数的第二个参数可以是一个 元祖 ,假如第二个参数是一个元祖,那么只要第一个参数 object 是元祖中类的任何一个种类,那么 isinstance 就返回 True。

案例

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))

程序运行后,控制台输出如下:

首先,我们定义了三个 变量 ,一个 string 种类的 name,一个 int 种类的 age,和一个 float 种类的 score。

接着,我们分别使用 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 类 继承 了 Person 类,Teacher 类继承了 Student 类,Cat 类没有继承任何类(实在继承了 object 类)。

接着,我们分别实例化了四个对象,并分别使用 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 不但可以用于内置种类的判定,也可以用于自定义类的判定。

Python isinstance() 函数

Python 内置函数

描述

isinstance() 函数来判定一个对象是否是一个已知的种类,类似 type()。

isinstance() 与 type() 区别:

假如要判定两个种类是否相同建议使用 isinstance()。

语法

以下是 isinstance() 方法的语法:

 isinstance(object, classinfo) 

参数

  • object -- 实例对象。
  • classinfo -- 可以是直接或间接类名、基本种类要么由它们构成的元组。

返回值

假如对象的种类与参数二的种类(classinfo)相同则返回 True,不然返回 False。。


实例

以下展示了使用 isinstance 函数的实例:

>>> a = 2 >>> isinstance ( a , int ) True >>> isinstance ( a , str ) False >>> isinstance ( a , ( str , int , list ) ) True

type() 与 isinstance()区别:

class A : pass class B ( A ) : pass isinstance ( A ( ) , A ) type ( A ( ) ) == A isinstance ( B ( ) , A ) type ( B ( ) ) == A

Python 内置函数

描述

isinstance() 函数来判定一个对象是否是一个已知的种类,类似 type()。

isinstance() 与 type() 区别:

假如要判定两个种类是否相同建议使用 isinstance()。

语法

以下是 isinstance() 方法的语法:

isinstance ( object , classinfo )

参数

  • object -- 实例对象。
  • classinfo -- 可以是直接或间接类名、基!本种类要么由它们构成的元组。

返回值

假如对象的种类与参数二的种类(classinfo)相同则返回 True,不然返回 False。。


实例

以下展示了使用 isinstance 函数的实例:

>>> a = 2 >>> isinstance ( a , int ) True >>> isinstance ( a , str ) False >>> isinstance ( a , ( str , int , list ) ) # 是元组中的一个返回 True True 参考文档:

本文网址: http://www.directapkdownloader.com/d/20201030102520_7073_1682758110/home