Python判断变量类型isinstance()与type()不同之处是什么?,pythonisinstance,使用type()与isi
Python判断变量类型isinstance()与type()不同之处是什么?,pythonisinstance,使用type()与isi
使用type()与isinstance()都能判断变量的类型
type(a) is types.StringType 与 isinstance(a, str) 效果是一样的,那么有什么区别吗?
1、isinstance()从名字上看,只能够判断实例是否为那种类型,又或者其基类类型(派生类实例中含有基类的信息)。
2、type()则明确显示出该实例的类型(相当于查看该实例的__class__属性),无论这个类由哪一个类派生而来,type所表示的都是直接生成该实例的类的类型。
#! /usr/bin/pythonclass Base(object):def __init__(self):passclass A(Base):def __init__(self):passbaseobj = Base()a = A()print isinstance(baseobj,Base) #True baseobj is an instance of Baseprint isinstance(a,Base) #True a is an instance of Baseprint type(baseobj) is Base #True type of baseobj is Baseprint baseobj.__class__ is Baseprint type(a) is Base #False type of a is A
比较有意思的是type和object这两个对象。
看看这个你就会知道
isinstance(type,object) #Trueisinstance(object,type) #True
这两个家伙互为对方的实例。你可以点击这里来了解一下。
编橙之家文章,
相关内容
- 《python核心编程》复数取余的问题,,在看《python核心编
- 请问python外部模块可以在Jinja2模板里使用吗?,pythonji
- Python学习过程从新手到大神是什么路线,python大神,本专
- struts2框架通配符报错HTTP Status 404要怎么调整,struts24
- Python能做到前后端数据互通吗?后台读取前端数据,py
- 求问str()同__str__原理上有什么不同,分别在什么情况下应
- Python opengl要显示中文怎么调整,pythonopengl,RT,显示英文
- tornado调用一系列阻塞的方法时候如何保持异步的效果呢
- Flask上下文和请求上下文要如何理解,flask上下文,在学
- Pythonq将多个音频解码并合成完整音频的思路,pythonq思
评论关闭