python: isinstance函数

API

isinstance(object, classinfo)

判断一个对象是否是一个已知的类型。

Args:

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

实验代码

判断一个对象是否是一个已知的类型:

a = int(10)
assert isinstance(a, int) and not isinstance(a, str)
assert isinstance(a, (int, str, list))

isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。而isinstance() 会认为子类是一种父类类型,考虑继承关系

class A:
    pass
class B(A):
    pass
assert isinstance(A(), A)
assert isinstance(B(), A) and not type(B()) == A


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从流域到海域

Python iterator迭代器

迭代器iterator是面向对象的程序设计语言都提供的遍历序列对象的一种方法,在Python中封装程度更高,其把迭代协议在语言的层面就已经实现了,所以使用...

2379
来自专栏JavaEE

Java的反射机制前言:Java反射的使用:总结:

1414
来自专栏土豆专栏

Java面试之关键字

finalize()是Object的protected方法,子类可以覆盖该方法来实现资源清理工作,GC在回收对象之前调用该方法。

21510
来自专栏Petrichor的专栏

python: 迭代器 (Iterator)

迭代器(iterator)是访问集合内元素的一种方式,提供了一种遍历类序列对象的方法。从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束。对于字典、文...

1833
来自专栏calmound

Javascript数组

定义    定义空数组       var arr = new Array();       var arr = [];    定义一个包含1,2,3的数组  ...

3456
来自专栏从流域到海域

C++区别于其他语言的知识点总结

C++是博主的一门限选课,所使用的课本为谭浩强老师的《C++面向对象程序设计》(第二版),这本书内容全面,简单易懂,也强烈推荐给大家(尤其是初学者)。但对...

21510
来自专栏Hongten

java中静态变量和实例变量到底有什么区别_看了就知道啦

==================================================

733
来自专栏互联网杂技

安静100分钟理解js面向对象

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head>...

3468
来自专栏LhWorld哥陪你聊算法

python 使用小结

使用Python 已经一段时间了 ,现将python 中可能用到的技巧和一些知识点分享如下。

1051
来自专栏前端知识分享

第196天:js---调用函数的五种方式

1122

扫码关注云+社区