这篇文章主要介绍了Python的issubclass和isinstance函数有什么区别?issubclass 和 isinstance函数的使用方法,本文通过实例代码给大家介绍的非常详细,操作简单具有一定的参考借鉴价值 ,需要的朋友可以参考下。

Python的issubclass和isinstance函数有什么区别?issubclass 和 isinstance函数是使用方法

1、issubclass() 方法

这个方法主要用来判断一个参数class是不是属于一个类型参数下的字类。具体的基本语法如下:

issubclass(class, classinfo)

 可以发现这个函数中它有两个参数,其中class参数是我们大家都属性的类,而calssinfo是表示一个子类。函数的返回值,如果一个class是子类classinfo的话,它就会返回true,如果不是就返回false。

下面举个例子:  

class a:
  pass
class b(a):
  pass
print(issubclass(b,a))

最后结果返回 True

2、ininstance()方法

这个函数主要是用来判断一个对象是否是一个已经知道类型的对象,它的用法跟type()使用相似。

isinstance() 与 type() 区别:

前者会考虑子类和父类的继承关系,并且会认为它们属于同一种类型,而后者既不考虑继承关系也不会考虑是否是同一种类型。

当你需要去对两个类型是否相等的字符串的时候,还是建议使用isinstance()方法。它的基本语法如下:

isinstance(object, classinfo)

我们可以看到它包含了两个参数 ,一个是object表示的是一个实例对象,另一个classinfo表示的是一个类型元组,可以是一个直接或者间接的类名或者是基本类型。返回值一个对象的类型与参数中classinfo的类型相同的话返回true,不相同就返回false。 

举个例子: 

a = 2
isinstance (a,int)
True

因为a它是一个整数类型,所有返回的是true。

isinstance (a,str)
False

a变量存储的是一个整型数据,而不是一个字符串,所以这里返回false。

isinstance (a,(str,int,list)) 是元组中的一个返回 True
True

以上所述是我给大家介绍的Python的issubclass和isinstance函数有什么区别?issubclass 和 isinstance函数的使用方法,希望对大家有所帮助。

更多python相关文章请访问分类:python

【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!