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

posted on 2015-12-18 11:29  Alanpy  阅读(276)  评论(0编辑  收藏  举报

导航