Python isinstance函数介绍

yipeiwu_com7年前Python基础

isinstance(object, classinfo)

判断实例是否是这个类或者object

object是变量  
classinfo 是类型(tuple,dict,int,float) 
判断变量是否是这个类型  

复制代码 代码如下:
 
class objA:  
pass  
 
A = objA()  
B = 'a','v'  
C = 'a string'  
 
print isinstance(A, objA)  
print isinstance(B, tuple)  
print isinstance(C, basestring)  

输出结果:
复制代码 代码如下:

True  
True  
True  

  
不仅如此,还可以利用isinstance函数,来判断一个对象是否是一个已知的类型。 
isinstance说明如下: 
复制代码 代码如下:

    isinstance(object, class-or-type-or-tuple) -> bool 
     
    Return whether an object is an instance of a class or of a subclass thereof. 
    With a type as second argument, return whether that is the object's type. 
    The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for 
    isinstance(x, A) or isinstance(x, B) or ... (etc.). 

其第一个参数为对象,第二个为类型名或类型名的一个列表。其返回值为布尔型。若对象的类型与参数二的类型相同则返回True。若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True。 
复制代码 代码如下:

>>>isinstance(lst, list) 
True 
 
>>>isinstance(lst, (int, str, list) ) 
True 

另外:Python可以得到一个对象的类型 ,利用type函数:>>>lst = [1, 2, 3]>>>type(lst)<type 'list'> 

相关文章

python计算一个序列的平均值的方法

本文实例讲述了python计算一个序列的平均值的方法。分享给大家供大家参考。具体如下: def average(seq, total=0.0): num = 0 for...

解决python中使用PYQT时中文乱码问题

如题,解决Python中用PyQt时中文乱码问题的解决方法: 在中文字符串前面加上u,如u'你好,世界',其他网上的方法没有多去探究,Python的版本也会影响解决方法,故这里只推荐这种...

Python中的上下文管理器和with语句的使用

Python2.5之后引入了上下文管理器(context manager),算是Python的黑魔法之一,它用于规定某个对象的使用范围。本文是针对于该功能的思考总结。 为什么需要上下文管...

利用PyInstaller将python程序.py转为.exe的方法详解

前言 最近经常用到一个.py程序,但是每次在不同电脑上用,希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个exe。PyInstalle满足要求。 PyIns...

Python数据结构之栈、队列的实现代码分享

Python数据结构之栈、队列的实现代码分享

1. 栈 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或...