Python isinstance/issubclass内置方法
python内置方法 isinstance()/issubclass() 对对象和类进行判断
1.isinstance(obj,cls)
#判断对象obj是否由类cls创建 如果为真则返回True 如果为假则返回Flase, 如果当前类为派生类(子类)那么对于基类(父类)也是同样适用的
例:
#-*- coding:utf-8 -*-
#/usr/bin/env python
#定义类cls
class cls(object):
pass
#定义类sub 继承类cls
class sub(cls):
pass
obj = sub()
#查看对象是否属于类cls(基类)
print 'obj is cls object? %s'%isinstance(obj,cls)
#查看对象是否属于类sub(派生类)
print 'obj is sub object? %s'%isinstance(obj,sub)
#查看对象是否属于int类
print 'obj is int object? %s'%isinstance(obj,int)
输出结果:
obj is cls object? True
obj is sub object? True
obj is int object? False
#判断sub是否为super的派生类(子类) 如果为真则返回Ture 如果为假则返回Flase
2.issubclass(sub,super)
例:
#-*- coding:utf-8 -*-
#/usr/bin/env python
#定义类cls
class cls(object):
pass
#定义类sub 继承类cls
class sub(cls):
pass
#查看sub是否是cls的派生类
print issubclass(sub,cls)
#查看sub是否是int的派生类
print issubclass(sub,int)
输出结果:
True
False
作者:Alan
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利!