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 

摘自

区别就是:

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型。

注意:在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。

时间: 2024-10-08 10:30:06

isinstance 和 type 的区别的相关文章

python 内建函数isinstance的用法以及与type的区别

isinstance是Python中的一个内建函数 语法: isinstance(object, classinfo) 如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True.如果object不是一个给定类型的的对象, 则返回结果总是False. 如果classinfo不表示一个类(类型对象), 那么它要么是一个类的元组, 或者递归地包含这样的(由数据类型构成的)元组.其他的序列类型是不被允许的. 如果classinfo不是一种数据

聊一聊isinstance与type

聊一聊isinstance与type 最近写代码的时候遇到了一个关于isinstance与type的坑,这里给大家分享下,如果大家也遇到了同样的问题,希望本文能为大家解决疑惑把. isinstance(obj,cls) isinstance有两个参数,obj表示待比较的对象,cls表示"疑似是obj从属的类",返回值是bool类型的True或者False 举一个简单的例子:我们想从一个多层嵌套的列表中获取每一个元素: A = [1,2,[3,4,[5,6,[7,8,[9,10]]]]]

ASP.NET控件<ASP:Button /> html控件<input type="button">区别联系

ASP.NET控件<ASP:Button />-------html控件<input type="button">杨中科是这么说的:asp和input是一样的东西 服务器只认识input,我们可以直接写input 但是asp是要把自己自动翻译成input再交给服务器的.其实是一样的东西 写写我看到的区别:                asp控件,直接可以用c#编程                input加上 runat=“server” 也被c#编程了 说白

class kind type sort区别

class多用于 级别比如高级货就是 first class,primary class等等,以此类推kind 和sort 基本一样,就像你说的,译为 种类,what kind of疑问,回答时用sort/kind of 则表示"有点点吧",较为口语化.PS我在国外用了这么久没发现区别···type更为正规点,多表示为 型号很明显的区别了吧···

面向对象中特殊方法的补充、isinstance/issubclass/type、方法和函数、反射

一.面向对象中特殊方法的补充 1.__str__ 能将对象名改成你想要的字符串,但是类型还是类 class Foo(object): def __init__(self): pass def func(self): pass def __str__(self): return "f1" obj = Foo() print(obj,type(obj)) # f1 <class '__main__.Foo'> 2.__doc__ 能将类的注释文档显示出来 class Foo(o

&lt;button&gt;和&lt;input type=&quot;button&quot;&gt;区别

1.定义和用法 定义和用法 <button> 标签定义一个按钮. 在 button 元素内部,您可以放置内容,比如文本或图像.这是该元素与使用 input 元素创建的按钮之间的不同之处. <button> <button> 中间可以放:图片.文本等比较丰富的内容.    唯一禁止使用的元素是图像映射,因为它对鼠标和键盘敏感的动作会干扰表单按钮的行为, 请始终为按钮规定 type 属性.Internet Explorer 的默认类型是 "button"

form表单重复提交,type=“button”和type=“submit”区别

公司测试提了一个项目后台在IE浏览器下(360,firefox就没问题)出现数据重复的问题,调试了好久终于发现问题所在,也不知道是谁写的代码,醉醉的.... 错误地点: <input type="submit" value="提交"  class="btn"  id="formSubmit" onclick="checkForm()"  /> type类型写成submit,而在checkForm

python isinstance函数(21)

1. 简介 isinstance() 函数是 python 中的一个内置函数,主要用于检测变量类型,返回值是bool值 ,在python内置函数中,与该函数相似的还有另外一个内置函数  type(). 2.语法 isinstance(object,classinfo) 参数: object : 实例对象. classinfo : 可以是直接或者间接类名.基本类型或者由它们组成的元组. 返回值:如果对象的类型与classinfo类型相同则返回 True,否则返回 False. a = 2 isin

Number and String

Python基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型. 等号(=)用来给变量赋值.等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值. 1 name = "张博杰" ; # 声明变量 2 age = "22" 3 school = "西安航空职业技术学院&