Python中请使用isinstance()判断变量类型
一、isinstance()
在Python中可以使用type()与isinstance()这两个函数判断对象类型,而isinstance()函数的使用上比type更加方便。
# coding=utf-8 a = 10 def b(): pass print isinstance(a,(int,str)) print isinstance(a,(float,str)) print isinstance(b,(str,int)) class c: pass obj = c() print isinstance(obj,(c,int))
执行结果:
True
False
False
True
二、isinstance 和 type的区别
isinstance 和 type的区别在于:
代码如下:
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
区别就是 对于subclass之类的 type就不行了,所以,强烈建议不要使用type判断对象类型。
作者:Wicub
免责声明:文章、笔记等仅供分享、探讨、参考等学习之用,因此造成的任何后果概不负责。(如有错误、疏忽等问题,欢迎指正、讨论,谢谢)
本文版权归作者和博客园共有,欢迎转载,但请务必在文章页面明显位置给出原文连接,谢谢配合。