zoukankan      html  css  js  c++  java
  • python中isinstance函数

    1、描述

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

    2、语法

    isinstance(object,classinfo)

    参数:

    object:实例对象

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

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

    3、实例 

    以下是使用isinstance()函数的实例:

    a=2

    isinstance(a,int)        #返回值为True

    isinstance(a,str)  #结果返回False

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

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

    例如在继承上的区别:

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

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

    实验:

    class A:

      pass

    class B(A):

      pass

    isinstance(A(),A)     # return True

    type(A()) == A         # return True

    isinstance(B(),A)    # return True

    Type(B())  == A      # return False

    我们发现,创建一个A对象,再创建一个继承A对象的B对象,使用 isinstance() 和 type() 来比较 A() 和 A 时,由于它们的类型都是一样的,所以都返回了 True。而B对象继承于A对象,在使用isinstance()函数来比较 B() 和 A 时,由于考虑了继承关系,所以返回了 True,使用 type() 函数来比较 B() 和 A 时,不会考虑 B() 继承自哪里,所以返回了 False。

    如果要判断两个类型是否相同,则推荐使用isinstance()。

  • 相关阅读:
    SpringMvc上手学习
    UITapGestureRecognizer 和 UICollectionView、UITableView的点击事件冲突问题
    Omnigraffle 许可证
    REACT-NATIVE
    iOS @property、@synthesize和@dynamic
    WWDC2018 之 优化 App Assets Optimizing App Assets
    WWDC2018 之 高性能 Auto Layout
    链表
    Your development team, "", does not support the Push Notifications capability.
    xcode无线调试
  • 原文地址:https://www.cnblogs.com/medigrat/p/12068263.html
Copyright © 2011-2022 走看看