Python type()和isinstance()方法:检查对象类型

京东自营,扫码进入

Python是一种面向对象的高级语言,它提供不同的类型和对象来存储和处理数据。这些对象可以是内置的,也可以是由开发人员创建的自定义对象。在处理不同的对象时,找到它们的类型对于正确使用它们非常重要。Python内置 类型() 方法用于检测和查找给定的对象类型,isinstance()方法用于检查给定的类型。

type()方法语法

type()方法是用于查找和检查对象类型的给定变量的最常用方法。它只接受一个参数,其中给定参数对象的类型将作为字符串返回。

type(o)
  • o 是我们要查找其类型的对象。o可以是单个对象(如整数、字符串),也可以是多类型对象(如数组或列表)。

使用Type()方法检查单个类型对象

我们可以在返回基对象类型的地方使用单类型对象。下面我们将测试integer、string、class等类型。

a = 12b = "Wisetut"class c:   x="Test"d= c()type(a)#<class 'int'>type(b)#<class 'str'>type(c)#<class 'type'>type(d)<class '__main__.c'>
图片[1]-Python type()和isinstance()方法:检查对象类型-cppku-C++库
使用Type()方法检查单个类型对象

isinstance()方法

isinstance() 方法是检查给定对象或变量类型的另一种方法。isinstance()还检查给定对象是否是给定类和子类的实例,后者更可靠。但是为了检查和比较,应该提供类名。isinstance()方法将返回检查结果。如果给定的对象类型与类型参数相同,则返回true;如果不相同,则返回false。

isinstance(o,type)
  • o 是要检查的对象或变量。它将与类型参数进行比较。
  • 类型 是一种类型,如int、string、class等,它将检查o对象。还可以提供多种类型来匹配其中一种类型,如(list、tuple、string)。

让我们从一个简单的例子开始,我们将检查一些基本类型和类类型。

a = 1 b = "Wise"class c:   x=1d = c()e = [1,2,3,4]isinstance(a,int)isinstance(b,str)isinstance(d,c)isinstance(e,list)
图片[2]-Python type()和isinstance()方法:检查对象类型-cppku-C++库
isinstance()方法

如果我们想用给定的对象检查多个类型,我们将以元组的形式提供这些类型。在下面的示例中,我们将检查类c、int和list的d对象。结果将为true,因为d对象是从类c创建的。

class c:   x=1d = c()isinstance(d,(c,int,list))//True

isinstance()方法错误

isinstance()方法只用于对象或变量,不需要像这样使用额外的方法 type() . 如果您看下面的示例,我们将创建一个空字典并将其与 dict 类型。如果 type() 方法来比较它们,它将返回假值。

x = {}

isinstance(x,type(dict))
# Returns False

isinstance(x,dict)
# Returns True

用issubclass()方法检查类和子类类型

甚至isinstance()方法也提供了一种检查不同对象类型的通用方法有一个名为 issubclass() 它专门用于检查给定的对象或类是否是指定的类或对象的子类。issubclass()方法接受两个参数,其语法如下所示。

issubclass( PARENT , CHILD)
  • 父类是父类,如果子类是其子类,则将检查父类。
  • 子类是从父类派生的或固有的类。

如果子类是从父类派生或继承的,issubclass()方法将返回true,否则将返回false。

class Human:   age = 0class Boy(Human):   name = ""class Animal():   length=0issubclass(Human,Boy)# Output is trueissubclass(Boy,Human)
# Output is falseissubclass(Human,Animal)
# Output is false
© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0 分享