python isinstance()与type()的区别
Python 区别 type
2023-09-14 09:07:33 时间
例如在继承上的区别:
- isinstance() 会认为子类是一种父类类型,考虑继承关系。
- type() 不会认为子类是一种父类类型,不考虑继承关系。
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
创建一个A对象,再创建一个继承A对象的B对象,使用 isinstance() 和 type() 来比较 A() 和 A 时,由于它们的类型都是一样的,所以都返回了 True。而B对象继承于A对象,在使用isinstance()函数来比较 B() 和 A 时,由于考虑了继承关系,所以返回了 True,使用 type() 函数来比较 B() 和 A 时,不会考虑 B() 继承自哪里,所以返回了 False。
如果要判断两个类型是否相同,则推荐使用isinstance()。
相关文章
- python 字符串编码 ,区别 utf-8 和utf-8-sig
- python 协程与go协程的区别
- python中@classmethod @staticmethod区别
- Python快速学习03:运算 & 缩进和选择
- Python import用法以及与from...import的区别
- Python import用法以及与from...import的区别
- python操作rabbitMQ小结
- 【学习总结】Python-3-身份运算符 is 与 == 区别
- Python中的module,library,package之间的区别
- Python Django 可变参数*与**的区别
- python中urllib, urllib2,urllib3, httplib,httplib2, request的区别
- 使用 Python 控制自己的电脑和键盘是一种什么样的体验?
- 分享一款懒人必备的Python爬虫神器
- Python学到什么程度可以面试工作?
- Python语言学习之lambda:lambda函数的简介、使用方法、案例大全之详细攻略
- 新手对Python学习路线还犯迷糊?这篇赶紧码住了!
- 大神开车的标题-python中类方法、类实例方法、静态方法的使用与区别
- Python如何爬取实时变化的WebSocket数据
- Python编程:urlsplit, urlparse简单区别
- Python: dict setdault函数与collections.defaultdict()的区别
- Python 对新浪微博的博文元素 (Word, Screen Name)的频率分析
- Python中json.load()和json.loads()方法有什么区别?傻傻分不清。
- Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用