Python isinstance函数介绍

yipeiwu_com6年前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'> 

相关文章

OpenCV 轮廓检测的实现方法

OpenCV 轮廓检测的实现方法

轮廓概述 轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度。轮廓在形状分析和物体的检测和识别中很有用。  为了更加准确,要使用二值化图像...

解决python读取几千万行的大表内存问题

Python导数据的时候,需要在一个大表上读取很大的结果集。 如果用传统的方法,Python的内存会爆掉,传统的读取方式默认在内存里缓存下所有行然后再处理,内存容易溢出 解决的方法: 1...

Python中eval带来的潜在风险代码分析

0x00 前言 eval是Python用于执行python表达式的一个内置函数,使用eval,可以很方便的将字符串动态执行。比如下列代码: >>> eval("1...

Python实现导出数据生成excel报表的方法示例

本文实例讲述了Python实现导出数据生成excel报表的方法。分享给大家供大家参考,具体如下: #_*_coding:utf-8_*_ import MySQLdb import...

通过源码分析Python中的切片赋值

本文主要介绍的关于Python切片赋值的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 昨天有同学问了我这么个问题: t = [1, 2, 3] t[1:1] = [...