乐趣区

关于python:python的type和isinstance的区别

形容
isinstance() 函数来判断一个对象是否是一个已知的类型,相似 type()。
isinstance() 与 type() 区别:

type() 不会认为子类是一种父类类型,不思考继承关系。
isinstance() 会认为子类是一种父类类型,思考继承关系。
如果要判断两个类型是否雷同举荐应用 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

type() 与 isinstance()区别:

class A:
    pass
 
class B(A):
    pass
 
isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

以上就是本次分享的全部内容,当初想要学习编程的小伙伴欢送关注 Python 技术大本营,获取更多技能与教程。

退出移动版