Python中请使用isinstance()判断变量类型


Posted in Python onAugust 25, 2014

一、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判断对象类型。
Python 相关文章推荐
Python urllib模块urlopen()与urlretrieve()详解
Nov 01 Python
Python实现HTTP协议下的文件下载方法总结
Apr 20 Python
python入门基础之用户输入与模块初认识
Nov 14 Python
Python连接PostgreSQL数据库的方法
Nov 28 Python
一步步教你用Python实现2048小游戏
Jan 19 Python
解析Python中的eval()、exec()及其相关函数
Dec 20 Python
快速了解Python相对导入
Jan 12 Python
python利用插值法对折线进行平滑曲线处理
Dec 25 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
Jun 17 Python
python pickle存储、读取大数据量列表、字典数据的方法
Jul 07 Python
Python实现加密接口测试方法步骤详解
Jun 05 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
Jul 14 Python
Python中变量交换的例子
Aug 25 #Python
Python实现的一个找零钱的小程序代码分享
Aug 25 #Python
Python跳出循环语句continue与break的区别
Aug 25 #Python
Python中声明只包含一个元素的元组数据方法
Aug 25 #Python
Python对象的深拷贝和浅拷贝详解
Aug 25 #Python
Python3实现连接SQLite数据库的方法
Aug 23 #Python
Python3实现生成随机密码的方法
Aug 23 #Python
You might like
使用PHP制作新闻系统的思路
2006/10/09 PHP
php 更新数据库中断的解决方法
2009/06/05 PHP
php 各种应用乱码问题的解决方法
2010/05/09 PHP
PHP中的函数嵌套层数限制分析
2011/06/13 PHP
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
JavaScript中this关键字使用方法详解
2007/03/08 Javascript
Visual Studio中的jQuery智能提示设置方法
2010/03/27 Javascript
jquery中获取id值方法小结
2013/09/22 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
JS回调函数的应用简单实例
2014/09/17 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
Vuex简单入门
2017/04/19 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
JS数组求和的常用方法实例小结
2019/01/07 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
详解python进行mp3格式判断
2016/12/23 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
matplotlib 纵坐标轴显示数据值的实例
2018/05/25 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
python中reload重载实例用法
2020/12/15 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
HTML5中原生的右键菜单创建方法
2016/06/28 HTML / CSS
施华洛世奇西班牙官网:SWAROVSKI西班牙
2019/06/06 全球购物
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
J2EE模式面试题
2016/10/11 面试题
应届毕业生求职信范文
2013/12/18 职场文书
大学生创业感言
2014/01/25 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers