zoukankan      html  css  js  c++  java
  • python 之isinstance用法

    isinstance() 函数来判断一个对象是否是一个已知的类型类似 type()。

    isinstance() 与 type() 区别:

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

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

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

    语法

    isinstance(object, classinfo)

    参数

    • object -- 实例对象。
    • classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。

    >>>a = 2

    >>> isinstance (a,int) True

    >>> isinstance (a,str) False

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

    对于基本类型来说 classinfo 可以是:

    intfloatboolcomplexstr(字符串),listdict(字典),settuple

    要注意的是,classinfo 的字符串是 str 而不是 string,字典也是简写 dict

    实例

    arg=123
    isinstance(arg, int)    #输出True
    isinstance(arg, str)    #输出False
    isinstance(arg, string) #报错

    用于判断是否是一个类的继承关系
    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

     可以在接受参数的时候 来校验参数类型 

  • 相关阅读:
    梦断代码(一)——死定了
    十天冲刺2——(六)
    十天冲刺2——(五)
    十天冲刺2——(四)
    十天冲刺2——(3)
    十天冲刺2——(二)
    关键字简介
    基本类型
    使用命令编译运行Java程序
    在Windows平台上搭建Java环境
  • 原文地址:https://www.cnblogs.com/tangda/p/12299141.html
Copyright © 2011-2022 走看看