1.issubclass(class,classinfo)
1)一个类被认为是其自身的子类
2)classinfo可以使类对象组成的元祖,只要class与其中任何一个候选类的子类,则返回True。
1 >>> class A: 2 pass 3 4 >>> class B(A): 5 pass 6 7 >>> issubclass(B,A) 8 True 9 >>> issubclass(B,B) #B是自身的子类 10 True 11 >>> issubclass(B,object) 12 True 13 >>> issubclass(B,C) 14 Traceback (most recent call last): 15 File "<pyshell#35>", line 1, in <module> 16 issubclass(B,C) 17 NameError: name 'C' is not defined 18 >>> class C: 19 pass 20 21 >>> issubclass(B,C) 22 False
2.isinstance(object,classinfo)
1)如果第一个参数不是对象,则永远返回false
2)如果第二个参数不是类或者由类对象组成的元祖,会抛出一个TypeError异常。
3.hasattr(object,name)---第一个参数为对象,第二个参数为属性---判断对象中是否有某一属性
4.getattr(object,name[,default])--第一个参数为对象,第二个对象为属性,第三个参数为没在对象中找到该属性的自定义报错信息
5.setattr(object,name,value)----第一个参数为对象,第二个参数为属性,第三个参数为没有找到该属性自动创建该属性对应的赋值
6.delattr(object,name)--删除对象中不存在的属性,如果不存在则会抛出Attributeerror的异常。
7.property(fget=None,fset=Nnoe,fdel=None,doc=None)---通过属性设置属性。获取,设置,删除
1 >>> class C: 2 def __init__(self,size=10): 3 self.size=size #实例属性 4 def getSize(self): 5 return self.size 6 def setSize(self,value): 7 self.size=value 8 def delSize(self): 9 del self.size 10 x=property(getSize,setSize,delSize) 11 12 13 >>> c1=C() 14 >>> c1.getSize() #获得c1中属性值 15 10 16 >>> c1.x #直接访问x获得属性值 17 10 18 >>> c1.x=18 #重新设置属性值 19 >>> c1.x 20 18 21 >>> c1.getSize() 22 18 23 >>> del c1.x 24 >>> c1.size 25 Traceback (most recent call last): 26 File "<pyshell#19>", line 1, in <module> 27 c1.size 28 AttributeError: 'C' object has no attribute 'size'