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利用ansible分发处理任务
Aug 04 Python
Python在Windows和在Linux下调用动态链接库的教程
Aug 18 Python
深入解答关于Python的11道基本面试题
Apr 01 Python
python 表达式和语句及for、while循环练习实例
Jul 07 Python
python web基础之加载静态文件实例
Mar 20 Python
对PyTorch torch.stack的实例讲解
Jul 30 Python
Python设计模式之策略模式实例详解
Jan 21 Python
python 处理telnet返回的More,以及get想要的那个参数方法
Feb 14 Python
TensorFlow:将ckpt文件固化成pb文件教程
Feb 11 Python
Keras: model实现固定部分layer,训练部分layer操作
Jun 28 Python
简单了解Django项目应用创建过程
Jul 06 Python
使用python脚本自动生成K8S-YAML的方法示例
Jul 12 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函数代码
2010/04/22 PHP
小文件php+SQLite存储方案
2010/09/04 PHP
C/S和B/S两种架构区别与优缺点分析
2014/10/23 PHP
纯php生成随机密码
2015/10/30 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
ES6基础之字符串和函数的拓展详解
2019/08/22 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
在python中安装basemap的教程
2018/09/20 Python
Pandas读取并修改excel的示例代码
2019/02/17 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
详解Django CAS 解决方案
2019/10/30 Python
python循环输出三角形图案的例子
2019/11/22 Python
Django 解决由save方法引发的错误
2020/05/21 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
css3 伪元素和伪类选择器详解
2014/09/04 HTML / CSS
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
Unix控制后台进程都有哪些进程
2016/09/22 面试题
建筑毕业生自我鉴定
2013/10/18 职场文书
企业标语大全
2014/07/01 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
开展党的群众路线教育实践活动个人对照检查材料
2014/11/05 职场文书
社区法制宣传月活动总结
2015/05/07 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书