类型判断type与isinstance的区别

2020-06-28  本文已影响0人  mutang

类型判断type与isinstance的区别

  1. type()函数:

    语法

    type(object)
    type(name, bases, dict)
    

    参数

    • name -- 类的名称。
    • bases -- 基类的元组。
    • dict -- 字典,类内定义的命名空间变量。

    返回值

    一个参数返回对象类型, 三个参数,返回新的类型对象。

    判断类型的两种方式

    1. type(x) is classinfo : type(1) is int #true
    2. type(x) == classinfo : type(1) == int #true
  2. isinstance()函数:

    语法

    isinstance(object, classinfo)
    

    参数

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

    返回值

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

  3. isinstance() 与 type() 区别:

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

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

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

  4. 用法:

assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式如下:

assert expression [, arguments]
assert 表达式 [, 参数]
上一篇下一篇

猜你喜欢

热点阅读