• isinstance与type的区别


    1.isinstance()内置函数

    python中的isinstance()函数是python的内置函数,用来判断一个函数是否是一个已知类型。类似type。

    2.用法:

    isinstance(object,classinfo)

    object:实例化对象

    classinfo:可以是直接或者间接类名、基本类型或者由它们组成的元组。

    返回值:如果对象的类型与参数classinfo的类型相同,则返回True,否则返回False

    Python错误SyntaxError: unexpected EOF while parsing。【parsing,对句子结构的分析、解析】

    含义是:解释器没找到它要找到的东西

    1 语法有问题,一般都是少了print最后的一个括号。

    2 输入语法肯定有问题,有时候忘了切换中英文输入法,可以删除了重新输入

     3.isinstance示例语法:

    #isinstance
    a=[44,2,45]
    b='alex'
    c={'a':12}
    print(isinstance(a,str))
    print(isinstance(b,str))
    print(isinstance(c,(str,dict,list,tuple)))#查看c是否是元组(str,dict,list,tuple)的一个
    
    结果:
    False
    True
    True
    

    4.isinstance()与type()的区别

    isinstance()会认为子类是一种父类类型,考虑继承关系。

    type()不会认为子类是一种父类类型,不考虑继承关系。

    4.1   type只接受一个参数,不仅可以判断变量是否属于某个类型,还可以直接返回参数类型。

            而isinstance只能判断是否属于某个已知的类型,不能直接得到变量所属的类型。

    4.2   isinstance可以判断子类实例对象是属于父类的;而type会判断子类实例对象和父类类型不一样。

    class A(object):
        pass
    class B(A):
        pass
    
    print(type (B()))    #只显示B()这个子类
    print(type (A()))
    print(type (B()))

    print(type(B())==A)
    结果: 
    <class '__main__.B'>
    <class '__main__.A'>
    True
    False

      

  • 相关阅读:
    洛谷P1175 表达式的转换
    洛谷P1725 琪露诺
    bzoj1047 [HAOI2007]理想的正方形
    洛谷P1886 滑动窗口
    最大数的和
    bzoj1087 [SCOI2005]互不侵犯King
    bzoj1051 [HAOI2006]受欢迎的牛
    Android(java)学习笔记41:Map集合功能概述
    Android(java)学习笔记40:WindowManager 中LayoutParams的各种属性
    Android(java)学习笔记39:Android 修改字体
  • 原文地址:https://www.cnblogs.com/Zhao159461/p/10615560.html
Copyright © 2020-2023  润新知